我正在尝试使用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>
答案 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();
});