使用JQUERY在Sharepoint 2007中隐藏显示(视图形式)中的列

时间:2011-06-30 19:56:16

标签: jquery sharepoint sharepoint-2007

我正在尝试使用Jquery隐藏Sharepoint 2007中的列。我正在努力隐藏列的代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>
<script type="text/javascript">
ColumnsToHide = new Array();
ColumnsToHide[0]='First Name';
ColumnsToHide[1]='Last Name'; 

$(document).ready(function()
{
 for (var i=0; i < ColumnsToHide.length;i++)
 {
  QueryString='nobr:contains("' + ColumnsToHide[i] + '")';
  $(QueryString).hide().parents('tr:first').hide();
 }
});
</script>

我甚至尝试使用各种代码隐藏列

1 $('nobr:contains("First Name")').closest('tr').hide();

2 $(":input[title='First Name']").parent().parent().hide();

3 $("#ms-formbody").hide();

4 $('input[title=First Name]').parent().parent().parent().hide();

通过使用上述方法,我无法隐藏列。因为我是Jquery的新手,所以可以指导我完成它。

我也提供源代码,我希望在以sharepoint 2007的显示形式加载页面时隐藏列

<TR>
<TD nowrap="true" valign="top" width="165px" class="ms-formlabel"><H3 class="ms-standardheader"><a name="SPBookmark_FirstName"></a>First Name</H3></TD>
        <TD valign="top" class="ms-formbody" width="450px" ID="SPFieldText">
        <!-- FieldName="First Name"
             FieldInternalName="FirstName"
             FieldType="SPFieldText"
          --></TD>  </TR>

<TR>
<TD nowrap="true" valign="top" width="165px" class="ms-formlabel"><H3 class="ms-standardheader"><a name="SPBookmark_MiddleName"></a>Middle Name</H3></TD>
        <TD valign="top" class="ms-formbody" width="450px" ID="SPFieldText">
        <!-- FieldName="Middle Name"
             FieldInternalName="MiddleName"
             FieldType="SPFieldText"
          --></TD></TR>

1 个答案:

答案 0 :(得分:1)

这将隐藏表单上的字段:

var label = "TextArea1";
$(".ms-formtable input[Title='"+ label +"']").closest("tr").hide();

这将隐藏视图中的列:

var colName = "TextArea1";
var index = $("tr.ms-viewheadertr th:contains('"+ colName +"')").index();
$("tr.ms-viewheadertr th:contains('"+ colName +"')").hide();
$("table.ms-listviewtable tbody").first().find("tr").each(function(){
    $(this).find("td:nth-child("+ index +")").hide();
});