根据以前字段中选定的响应,在Sharepoint列表中显示不同的字段?

时间:2013-12-26 21:54:56

标签: forms list sharepoint

初学者问题 - 我在SharePoint中有一个列表,我要求用户通过单击“添加新项”进行响应以显示该表单。

第一个字段是“项目类型” - 一个包含3个选项的下拉框。根据用户选择的选项,我想显示/隐藏我要填写的下一列。

示例:

如果用户为“项目类型”选择选项1,则

“选项1详细信息1”(单行)可见并且可以填充。 “选项1详细信息2”(单行)可见并且可以填充。

如果用户为“项目类型”选择选项2,则

“选项2详细信息1”(单行)可见并且可以填充。

如果用户为“项目类型”选择选项3,则不应显示任何其他列并需要填充。

我也可以访问infopath但尚未使用它。

1 个答案:

答案 0 :(得分:0)

可以使用InfoPath进行,但我从未尝试过....

否则您可以使用JavaScript来执行此操作。使用我的框架(SharepointPlus),它将是:

<script>
// launch the script when the document is loaded
$(document).ready(function() {
  // hide the rows by default
  $SP().formfields("Option 1 detail 1,Option 1 detail 2,Option 2 detail 1,Option 2 detail 2").row().hide();
  // add an action when the value of Item Type is changed
  $SP().formfields("Item Type").elem().on('change', function() {
    var val = $(this).val(); // get the selected value
    // hide all the rows first
    $SP().formfields("Option 1 detail 1,Option 1 detail 2,Option 2 detail 1,Option 2 detail 2").row().hide();
    if (val == "option 1") {
      // show the rows
      $SP().formfields("Option 1 detail 1,Option 1 detail 2").row().show()
    } else if (val == "option 2") {
      $SP().formfields("Option 2 detail 1,Option 2 detail 2").row().show()
    }
  })
})
</script>