Javascript 从Jstree中禁用某些复选框
因此,我用JsTree创建了一个复选框树。我要做的是,首先将所有复选框设置为disabled,然后创建一个包含li标记ID的数组。通过浏览表,我应该启用属于具有特定id的标记的复选框。选中时,树应该遵守与默认树相同的顺序(选中父项时,也应该选中启用的子项…等等)。我怎样才能继续?提前谢谢。Javascript 从Jstree中禁用某些复选框,javascript,jquery,jstree,Javascript,Jquery,Jstree,因此,我用JsTree创建了一个复选框树。我要做的是,首先将所有复选框设置为disabled,然后创建一个包含li标记ID的数组。通过浏览表,我应该启用属于具有特定id的标记的复选框。选中时,树应该遵守与默认树相同的顺序(选中父项时,也应该选中启用的子项…等等)。我怎样才能继续?提前谢谢。 PS:JsTree插件非常棒。然而,它缺乏大量的文档 您应该覆盖检查节点和取消选中节点函数的默认行为,并创建自己的禁用节点类型 守则: $('#tree').jstree({ 'plugins' :
PS:JsTree插件非常棒。然而,它缺乏大量的文档 您应该覆盖
检查节点
和取消选中节点
函数的默认行为,并创建自己的禁用节点类型
守则:
$('#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事件和bog标准JQuery/Javascript进行此操作。JSTree不需要任何特殊的东西。基本上,在JSTree加载函数中执行一些操作来循环所有复选框并禁用它们。然后在JSTree选择函数中,启用您需要的功能。您可以创建此html并提出建议吗?问题是我没有复选框类型的输入,因此我可以禁用它们…@webnoob如果您给我们一个Fiddle示例,我将非常感谢:)提前谢谢