Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Jstree中禁用某些复选框_Javascript_Jquery_Jstree - Fatal编程技术网

Javascript 从Jstree中禁用某些复选框

Javascript 从Jstree中禁用某些复选框,javascript,jquery,jstree,Javascript,Jquery,Jstree,因此,我用JsTree创建了一个复选框树。我要做的是,首先将所有复选框设置为disabled,然后创建一个包含li标记ID的数组。通过浏览表,我应该启用属于具有特定id的标记的复选框。选中时,树应该遵守与默认树相同的顺序(选中父项时,也应该选中启用的子项…等等)。我怎样才能继续?提前谢谢。 PS:JsTree插件非常棒。然而,它缺乏大量的文档 您应该覆盖检查节点和取消选中节点函数的默认行为,并创建自己的禁用节点类型 守则: $('#tree').jstree({ 'plugins' :

因此,我用JsTree创建了一个复选框树。我要做的是,首先将所有复选框设置为disabled,然后创建一个包含li标记ID的数组。通过浏览表,我应该启用属于具有特定id的标记的复选框。选中时,树应该遵守与默认树相同的顺序(选中父项时,也应该选中启用的子项…等等)。我怎样才能继续?提前谢谢。
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示例,我将非常感谢:)提前谢谢