4
所以我有一个用JsTree创建的复选框树。我想要做的就是将所有复选框设置为禁用,然后我有一个包含li标签的id的数组。通过浏览表格我应该启用属于具有特定ID的标签的复选框。选中时,树应该遵循与默认相同的顺序(当父母选中时,启用子项也应该被检查,等等)。我该如何继续?提前致谢。 PS:JsTree插件非常棒。但是它缺少很多文档。从Jstree中禁用某些复选框
所以我有一个用JsTree创建的复选框树。我想要做的就是将所有复选框设置为禁用,然后我有一个包含li标签的id的数组。通过浏览表格我应该启用属于具有特定ID的标签的复选框。选中时,树应该遵循与默认相同的顺序(当父母选中时,启用子项也应该被检查,等等)。我该如何继续?提前致谢。 PS:JsTree插件非常棒。但是它缺少很多文档。从Jstree中禁用某些复选框
您应该覆盖默认行为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
标签。
您可以使用正常的JStree事件和沼泽标准的jQuery/JavaScript来此。 JSTree没有什么特别的要求。基本上,在JSTree加载函数中执行一些操作来循环所有复选框并禁用它们。然后在JSTree选择功能中,启用你所需要的。 – webnoob
你可以创建这个html并且建议一个[FIDDLE](http://jsfiddle.net)? – Jai
问题是我没有复选框类型的输入,所以我可以禁用它们... –