我正在使用SharePoint日历,我们使用多个列,它是25列,每次我们想要添加新记录时,我们必须跳过很多列。因此,根据我的选择显示或隐藏多个列,使用下拉列表将是一个好主意。
在发现下面的代码后我做了什么,我创建了一个名为Selection
的下拉列表并应用了下面的脚本代码,但是根据我的选择它不起作用。如果你们能在这个问题上帮助我,我将不胜感激。
谢谢
<script src="/SiteAssets/jquery-3.3.1.js"></script>
<script src="/SiteAssets/sputility.js "></script>
<script>
$(document).change(function() {
var ddlValue = SPUtility.GetSPField('Selection').GetValue();
if (ddlValue == 'Country') {
SPUtility.ShowSPField('Country');
SPUtility.ShowSPField('Colour');
SPUtility.HideSPField('Animal');
SPUtility.HideSPField('Fruit');
}
if (ddlValue == 'Fruit') {
SPUtility.ShowSPField('Fruit');
SPUtility.ShowSPField('Colour');
SPUtility.HideSPField('Country');
SPUtility.HideSPField('Animal');
}
if (ddlValue == 'Animal') {
SPUtility.ShowSPField('Animal');
SPUtility.HideSPField('Country');
SPUtility.HideSPField('Fruit');
SPUtility.HideSPField('Colour');
}
if (ddlValue == 'Colour') {
SPUtility.ShowSPField('Colour');
SPUtility.ShowSPField('Animal');
SPUtility.HideSPField('Country');
SPUtility.HideSPField('Fruit');
}
});
</script>
答案 0 :(得分:1)
您需要做的第一件事是创建一个链接到您的下拉列表的change()
函数,以便每次更改值时都会触发该函数。你可以这样做:
$("your selector for your dropdownfield").change(function() {
//your actions here
});
您需要做的下一件事是获取下拉字段的值,然后根据其值隐藏字段。为此,您需要执行以下操作:
var ddlValue = SPUtility.GetSPField('Selection').GetValue();
if (ddlValue == 'Test Value 1') {
//hide fields for 'Test Value 1'
}
因此,如果我们将两者结合在一起,您最终会得到:
$("your selector for your dropdownfield").change(function() {
var ddlValue = SPUtility.GetSPField('Selection').GetValue();
if (ddlValue == 'Test Value 1') {
//hide fields for 'Test Value 1'
}
});
如果change()
函数中有条件,您可以添加更多内容,现在您应该可以根据下拉列表的值隐藏/显示字段。
让我知道它是否有效!