所以我有一个用JsTree创建的Checkbox树。我想要做的是将所有复选框最初设置为禁用,然后我有一个包含li标签的ID的数组。通过浏览表格,我应该启用属于具有特定ID的标签的复选框。选中时,树应该遵循与默认顺序相同的顺序(当父检查启用时,应检查子项...等等)。我该怎么办?提前致谢。 PS:JsTree插件很精彩。但是它缺少很多文档。
答案 0 :(得分:4)
您应该覆盖check_node
和uncheck_node
函数的默认行为,并创建自己的禁用节点类型。
代码:
$('#tree').jstree({
'plugins' : ['themes', 'html_data', 'checkbox', 'types'],
'checkbox' : {
'two_state' : true // Nessesary to disable default checking childrens
},
"types" : {
"types": {
"disabled" : { // Defining new type 'disabled'
"check_node" : false,
"uncheck_node" : false
},
"default" : { // Override default functionality
"check_node" : function (node) {
$(node).children('ul').children('li').children('a').children('.jstree-checkbox').click();
return true;
},
"uncheck_node" : function (node) {
$(node).children('ul').children('li').children('a').children('.jstree-checkbox').click();
return true;
}
}
}
}
});
现在要停用某个节点,请将属性rel="disabled"
添加到其li
标记。