0

我在具有此配置的常规表单中使用带有复选框选项的 jsTree:

"checkbox" : {
    real_checkboxes : true,
    two_state: false
      }

我只有两个级别的数据(L1 和 L2)。如果只检查了一些 L2 项目,我只得到那些项目(没有上面的 L1 项目),这很好。问题是如果检查了所有 L2 项目,我会得到顶级项目 (L1) 和所有 L2 项目。我只想获得顶级检查项目,这样如果所有 L2 项目都被检查,我只会得到它们上方的 L1 项目。

我看到有一个.get_checked ( context, get_all )选项,但我不确定如何将值从这里发布到表单。

4

1 回答 1

0

最简单的方法是遍历 jQuery 结果.get_checked并将每个元素的 id 连接到逗号分隔的字符串。然后,您可以将结果字符串设置为隐藏输入字段的值。不过,您必须在服务器上再次拆分此字符串。

您还可以考虑为选中元素的所有(隐藏)输入元素创建一个 jQuery 选择器,并将它们设置为未选中。就像是

$("li.jstree-checked > ul input").attr('checked', false);

可能会工作,虽然我还没有尝试过。

于 2012-07-04T09:29:05.433 回答