禁用Jstree中的某些复选框

所以我有一个用JsTree创建的Checkbox树。 我想要做的是将所有复选框最初设置为禁用,然后我有一个包含li标签的ID的数组。 通过浏览表格,我应该启用属于具有特定ID的标签的复选框。 选中时,树应该遵循与默认顺序相同的顺序(当父检查启用时,应检查子项…等等)。 我该怎么办? 提前致谢。 PS:JsTree插件很精彩。 但它缺少大量文档。

您应该覆盖check_nodeuncheck_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标签。

这是一个关于JSFiddle的例子。