jQuery技术:jsTree – 不要选择父节点的禁用子节点?

使用jsTree插件,开发人员争辩说,当选择父节点时应该选择禁用的子节点 – 我不同意。 为了解决这个问题,我想我可以通过编程方式取消选择已禁用的子节点。 我这样做了以下内容:

$("#selectionTree").on("select_node.jstree", function(evt, data) { var currentNode = data.node; var children = $("#selectionTree").jstree("get_children_dom", currentNode); for (var i = 0; i < children.length; i++) { var obj = $.parseJSON($(children[i]).attr('data-jstree')); if (obj['disabled'] == true) { $(children[i]).jstree("deselect_node", children[i]); } } } 

我有两个问题。

我认为解决方案是jQuery而不是jsTree所以任何想法?

编辑:我的代码示例现在适用于小提琴: https : //jsfiddle.net/Lf55r7qt/3/

    我的解决方案在1-deep树上进行了测试。 我刚刚添加了这个function:

     //select parents children except disabled ones //test on 1-deep $("#selectionTree").on("select_node.jstree", function(evt, data) { var currentNode = data.node; //rember opened state for later var openedState = currentNode['state']['opened']; //need to open node for accruate selection $('#selectionTree').jstree('open_node', currentNode); //get child nodes var children = $(this).jstree("get_children_dom", currentNode); //this allows selections parent nodes to deselect children (without it, there is no three-state) if ($("#" + currentNode['a_attr']['id'] + " > i").hasClass("jstree-undetermined")) { for (var i = 0; i < children.length; i++) { $(children[i]).jstree("deselect_node", children[i]); } } //loop through child nodes and select all except disabled nodes for (var i = 0; i < children.length; i++) { var obj = $.parseJSON($(children[i]).attr('data-jstree')); if (obj['disabled'] == true) { $(children[i]).jstree("deselect_node", children[i]); } } //return parent to closed state if was already if (openedState == false) { $(this).jstree('close_node', currentNode); } }); 

    工作小提琴: https : //jsfiddle.net/Lf55r7qt/6/

      以上就是jQuery教程分享jsTree – 不要选择父节点的禁用子节点?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/547857.html

      (0)
      上一篇 2021年1月13日
      下一篇 2021年1月13日

      精彩推荐