如何将自定义表单中的复选框绑定到SharePoint?

时间:2014-02-18 16:23:41

标签: javascript jquery sharepoint sharepoint-2010

我使用JavaScript获取名称为“days”的所有复选框,检查哪些复选框已被选中并将其值添加到数组中。

HTML复选框看起来像:

<input type="checkbox" name="days" value="Sunday"/>Sunday
<input type="checkbox" name="days" value="Monday"/>Monday

将所有选中的值放入数组的脚本如下所示:

var arr = new Array();

$('input[name="days"]:checked').each(function() {
    arr.push($(this).val());
});

return arr;

当我点击“提交”(我使用的是Forms7)时,它会被添加到SharePoint列表中。

但是,当我尝试编辑该列表项时,将取消选中所有复选框。例如,如果我在创建列表项时选中“星期日”,则在编辑时不会检查它。

有关复选框绑定如何在SharePoint中运行的任何想法?

2 个答案:

答案 0 :(得分:1)

我明白了。 SharePoint使用";#"而不是","作为数组项的分隔符。

例如,如果我选中带有值(“one”,“two”,“three”)的复选框并提交列表项,这就是幕后发生的事情:

var arr = new Array();
arr.push("one");
arr.push("two");
arr.push("three");

通常,JavaScript中的arr.toString()会产生:

one, two, three

但是使用SharePoint,这就是它所认可的:

one;#two;#three

所以我必须使用arr.join(";#");来替换逗号。当我编辑列表项时,仍然会选中复选框(“一个”,“两个”,“三个”)。

答案 1 :(得分:0)

我推荐spservices http://spservices.codeplex.com/

  1. 将js库添加到虚拟目录并将链接放入母版页
  2. 将sript附加到表单,获取列表值
  3. 初始化复选框,何时加载文档(表单)