easyui tree勾选节点id,text都一样如何勾选其他节点

  easyui tree勾选节点时,如果存在多个text,id都一样的节点,勾选或者取消勾选其中一个节点,其他节点也会同时勾选或者取消勾选。easyui tree有find方法,参数为节点的id,但是存在多个id一样的节点只会返回第一个节点,所以无法使用find方法。

  可以添加onCheck事件,使用jquery找出存储text值的dom对象遍历对比,如果一样用check/uncheck,传递dom节点执行勾选就行,效果如下

easyui tree勾选节点id,text都一样如何其他节点

  示例居于jquery-easyui-1.4.3\demo\tree\checkbox.html修改,给数据源tree_data1.json添加了相同的节点Friend,勾选或者取消勾选其中一个,另外一个同时更新勾选状态。如果不是此版本的easyui或者运行无效果,自己检查下dom结构。

  easyui tree勾选节点id,text都一样如何其他节点源代码如下

由于uncheck,uncheck方法会级联触发,所以需要定义一个变量控制只执行一次,要不会出现too much recursion错误。太多递归死循环了

    var once = true;
    function onCheck(node, checked) {
        if (!once) return once;
        once = false;
        $('#tt').find('span.tree-title').each(function () {
            if (this.parentNode != node.target && this.innerHTML == node.text) $('#tt').tree(checked ? 'check' : 'uncheck', this.parentNode)
        })
        once = true
    }

 


原创文章,转载请注明出处:easyui tree勾选节点id,text都一样如何勾选其他节点

评论(0)Web开发网
阅读(96)喜欢(0)easyui开发技巧