【发布时间】:2013-10-03 14:43:31
【问题描述】:
我正在使用jsTree 显示带有复选框的树。每个级别的节点都使用json_data 插件按需加载。
如果检查了一个节点的后代,则该节点应处于“未确定状态”(如 ACME 和 USA)。
问题是,树开始倒塌了。 ACME 看起来 unchecked 但应该是 undetermined。当我最终扩展到一个选中的节点时,jsTree 意识到祖先应该是undetermined。
所以我需要能够在不加载其子项的情况下将复选框置于undetermined 状态。
使用jsTree,您可以通过将jstree-checked 类添加到<li> 来预先选中一个框。我尝试添加 jstree-undetermined 类,但它不起作用。它只是将它们置于选中状态。
这是我的代码:
$("#tree").jstree({
plugins: ["json_data", "checkbox"],
json_data: {
ajax: {
url: '/api/group/node',
success: function (groups) {
var nodes = [];
for (var i=0; i<groups.length; i++) {
var group = groups[i];
var cssClass = "";
if(group.isSelected)
cssClass = "jstree-checked";
else if(group.isDecendantSelected)
cssClass = "jstree-undetermined";
nodes.push({
data: group.name,
attr: { 'class': cssClass }
});
}
return nodes;
}
}
}
})
我的问题
如何将节点设置为undetermined 状态?
【问题讨论】:
标签: javascript jquery ajax jstree