根据同一列表中其他列的条目隐藏SP列表中的列

时间:2017-01-11 11:36:02

标签: javascript html css sharepoint

我有一列依赖于SharePoint 2013列表中另一列的结果。在我的显示形式中,如果第1列结果为是,则应该显示column2。如果为否,则应隐藏column2。

下面是我尝试但未能使其正常工作的脚本:

<script>
$(document).ready(function()
{
  if($("#Column1").text()=="No")
  {
    $("#Column2a").hide();
    $("#Column2b").hide();
  }
  else if($("#Column1").text()=="Yes")
  {
    $("#Column2a").show();
    $("#Column2b").show();
  }
});
</script>

在我的显示形式中,我将ID添加到column1和column2 tds。

    <tr>
      <td width="190px" valign="top" class="ms-formlabel">
        <H3 class="ms-standardheader">
        <nobr>Column 1</nobr>
        </H3>
      </td>
      <td width="400px" valign="top" class="ms-formbody" id="Column1">
        <xsl:value-of select="@Column1"/>
      </td>
    </tr>
    <tr>
      <td width="190px" valign="top" class="ms-formlabel" id="Column2a">
         <H3 class="ms-standardheader">
         <nobr>Column 2</nobr>
         </H3>
      </td>
      <td width="400px" valign="top" class="ms-formbody"  id="Column2b">
         <xsl:value-of select="@Column2" disable-output-escaping="yes"/>
      </td>
    </tr>

我应该在代码中更改什么?

编辑:
为了更清楚,首先我编辑了显示表单并将ID添加到tds,然后我创建了我放在显示表单页面中的脚本。

1 个答案:

答案 0 :(得分:1)

您需要修剪内容:

&#13;
&#13;
if($("#Column1").text().trim() == "No")
{
  $("#Column2a").hide();
  $("#Column2b").hide();
}
else if($("#Column1").text().trim() == "Yes")
{
  $("#Column2a").show();
  $("#Column2b").show();
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
      <td width="190px" valign="top" class="ms-formlabel">
        <H3 class="ms-standardheader">
        <nobr>Column 1</nobr>
        </H3>
      </td>
      <td width="400px" valign="top" class="ms-formbody" id="Column1">
        No
      </td>
    </tr>
    <tr>
      <td width="190px" valign="top" class="ms-formlabel" id="Column2a">
         <H3 class="ms-standardheader">
         <nobr>Column 2</nobr>
         </H3>
      </td>
      <td width="400px" valign="top" class="ms-formbody"  id="Column2b">
         test
      </td>
    </tr>
</table>
&#13;
&#13;
&#13;

就像一个想法,你可能想要隐藏行而不是列(如果你隐藏行中的所有列)

相关问题