jquery - 如何根据下拉输入显示/隐藏 SharePoint 列?
问题描述
我在 SharePoint 脚本编辑器上有这段代码。有一个带有是/否选项的下拉菜单,根据用户输入,我想显示或隐藏这些 col 1-6 字段。例如,如果用户说“是”,那么我想显示第 1-6 列字段,如果他们后来决定说“不”,那么我想隐藏第 1-6 列字段。我尝试了每一件事
我通过在单独的编辑器中分隔每一列尝试了许多不同的选项,默认情况下我可以隐藏它们,但是当我说“是”时,所有字段都会显示,但当我说“否”时,只有最后一个字段(第 6 列)会隐藏。
<script language="javascript"></script>
<script>
// wait for the window to load
$(window).load(function () {
// EXAMPLE: Set the value of the Title field to Hello world!
SPUtility.GetSPField('abcdef').MakeReadOnly();
SPUtility.GetSPField('abcdef').MakeReadOnly();
SPUtility.GetSPField('abcdef').MakeReadOnly();
SPUtility.HideSPField('Col Name 1');
SPUtility.HideSPField('Col Name 2');
SPUtility.HideSPField('Col Name 3');
SPUtility.HideSPField('Col Name 4');
SPUtility.HideSPField('Col Name 5');
SPUtility.HideSPField('Col Name 6');
$(App.Dropdown).on(change(function()) {
var App = SPUtility.GetSPField('---Dropdown Column Name---');
var AppValue = App.GetValue();
if (AppValue === 'No'){
SPUtility.HideSPField('Col Name 1');
SPUtility.HideSPField('Col Name 2');
SPUtility.HideSPField('Col Name 3');
SPUtility.HideSPField('Col Name 4');
SPUtility.HideSPField('Col Name 5');
SPUtility.HideSPField('Col Name 6');
}
else{
SPUtility.ShowSPField('Col Name 1');
SPUtility.ShowSPField('Col Name 2');
SPUtility.ShowSPField('Col Name 3');
SPUtility.ShowSPField('Col Name 3');
SPUtility.ShowSPField('Col Name 4');
SPUtility.ShowSPField('Col Name 5');
SPUtility.GetSPField('Col Name 1').SetValue("No");
SPUtility.GetSPField('Col Name 2').SetValue("No");
SPUtility.GetSPField('Col Name 3').SetValue("No");
SPUtility.GetSPField('Col Name 4').SetValue("No");
SPUtility.GetSPField('Col Name 5').SetValue("No");
SPUtility.GetSPField('Col Name 6').SetValue("No");
}
});
</script>
现在,使用上面的代码,默认显示所有字段(第 1-6 列)。
解决方案
我创建了一个名为“TestDropDown”的下拉选择字段,并修改代码片段如下:
<script type="text/javascript">
$(window).load(function() {
SPUtility.HideSPField('Col Name 1');
SPUtility.HideSPField('Col Name 2');
SPUtility.HideSPField('Col Name 3');
SPUtility.HideSPField('Col Name 4');
SPUtility.HideSPField('Col Name 5');
SPUtility.HideSPField('Col Name 6');
$("select[title='TestDropDown']").change(function() {
var App = SPUtility.GetSPField('TestDropDown');
var AppValue = App.GetValue();
if (AppValue === 'No'){
SPUtility.HideSPField('Col Name 1');
SPUtility.HideSPField('Col Name 2');
SPUtility.HideSPField('Col Name 3');
SPUtility.HideSPField('Col Name 4');
SPUtility.HideSPField('Col Name 5');
SPUtility.HideSPField('Col Name 6');
}
else{
SPUtility.ShowSPField('Col Name 1');
SPUtility.ShowSPField('Col Name 2');
SPUtility.ShowSPField('Col Name 3');
SPUtility.ShowSPField('Col Name 3');
SPUtility.ShowSPField('Col Name 4');
SPUtility.ShowSPField('Col Name 5');
SPUtility.GetSPField('Col Name 1').SetValue("No");
SPUtility.GetSPField('Col Name 2').SetValue("No");
SPUtility.GetSPField('Col Name 3').SetValue("No");
SPUtility.GetSPField('Col Name 4').SetValue("No");
SPUtility.GetSPField('Col Name 5').SetValue("No");
SPUtility.GetSPField('Col Name 6').SetValue("No");
}
});
});
</script>
选择否,隐藏所有文件:
更改为是,所有字段都显示:
推荐阅读
- python - Jupyter Notebook 无法在 Ubuntu WSL2 中打开
- autodesk-forge - 设计自动化中的 AutoCAD 选择过滤器
- node.js - 从生产负载中删除 babel-runtime
- r - 如何使用邮政编码和`ggmap`函数提取经度和纬度
- c# - HttpPostedFileBase 仅在 Edit() 表单 Post 上返回 null?
- tensorflow - 关于序列到序列模型中的编码器参数,梯度是“nan”
- python - 从 Etsy 对项目变体进行排序
- c# - FromJson 字符串到列表
- angular - 如何在对象引用更改时制作类似于 :enter 和 :leave 的动画
- python - 如何使用日期时间级别的数据计算 n 天的滚动平均值?