如何根据字段名称(jQuery)隐藏SharePoint显示表单中的字段?

时间:2012-04-04 11:44:20

标签: javascript jquery sharepoint

我有一个包含以下单行文本字段的SharePoint列表:TitleYearType or Location。我希望能够以默认显示形式隐藏Type or Location表格行。我知道我应该创建一个JavaScript脚本并将其放在DispForm.aspx内的Content Editor Web部件中。

我不熟悉jQuery语法,因此我需要有关代码的帮助,即我不知道如何引用包含Type or Location字段及其值的表行。这是我到目前为止所做的,但它不起作用:

jQuery(document).ready(function($) {
   $("input[title='Type or Location']").closest("tr").hide();
});

我知道"input[title='Type or Location']"部分不正确;至少我认为就是这样。任何人都可以帮我吗?谢谢。

6 个答案:

答案 0 :(得分:9)

尝试:

jQuery(document).ready(function($) {
   $("h3.ms-standardheader:contains('Type or Location')").closest("tr").hide();
});

答案 1 :(得分:2)

我不确定你为什么要使用jQuery。在SharePoint中,您可以选择创建必填字段,可选字段或隐藏字段。在大多数情况下,只需切换到隐藏即可解决您的问题。

为了记录,我还会尽量避免使用jQuery(document).ready,它可能会与开箱即用的onload事件冲突。在你的情况下,它是不需要的。

更新:这是使用jQuery执行此操作的方法:

$("td.ms-formlabel:contains('Type or Location')").parent().hide();

答案 2 :(得分:0)

以这种方式尝试:

jQuery(document).ready(function($) {
   $("input[title='Type'],input[title='Location']").closest("tr").hide();
});

答案 3 :(得分:0)

它取决于Type ior Location的列类型。如果它是单行文本,那么你就接近了。你应该使用像IE的Developer Tools或Firebug这样的DOM检查器来查看输入元素的实际标题。

如果列是不同的类型,那么它可能不是输入元素。再次使用DOM检查器,您可以查看构成字段控件的元素,并从中决定选择器。

最后,请记住,在脚本中隐藏内容并不安全。精明的用户可以关闭脚本或以其他方式更改脚本,以便他们可以编辑它。这一切都取决于您的要求。

// UPDATE // 啊,你说DispForm。正如另一个答案所指出的,DispForm中没有任何输入元素。您需要更正您的选择器。

答案 4 :(得分:0)

语法应如下所示:

$("input[title='Type']").closest("tr").hide();

$("input[title='Location']").closest("tr").hide();

它会起作用。

答案 5 :(得分:0)

如果只是默认显示表单,那么如何创建一个视图并使其默认显示?