EasyUI获取combotree的子节点,通过某个节点文本获得该节点id

来源:互联网 发布:医学手术视频软件 编辑:程序博客网 时间:2024/06/10 18:38
        项目中遇到一个问题,控制一个combtree的值取自另一个combotree2选择的值,这个步骤比较简单。但是,当combotree2的值为 “全部” 时(即没有明确选择某个值的情况),要将combotree的值设定为combotree2中某个 非“全部” 节点的特定子节点的值,该特定子节点的“id”需要通过该节点的“text”获取,我在这个过程中遇到一点问题。
        我首先查阅了EasyUI的官方API,发现 $('#combotree2Id').combotree('tree').tree('getChecked', 'unchecked') 方法可以获取combotree所有未选择的子节点,然后我在项目中尝试用此种方法,但是并没有如愿获得预期结果,得到的是一个空数组[],这种方法行不通。
        后来发现在tree控件中有个 getChildren 方法,于是将上面的方法更改为 $('#combotree2Id').combotree('tree').tree(’getChildren‘) ,果然获取到combotree2的所有子节点,然后通过遍历,如愿获取到了该特定子节点id,并复制给combtree。
var nodes = $('#combotree2Id').combotree('tree').tree('getChildren');for(var i=0;i<nodes.length;i++){node = nodes[i];if(node.text == "特定字节的text"){id = node.id;break;}}
        需要注意的是,getChildren会得到combtree的所有子节点,如果combtree的子节点不止一级,并且所要获取的特定子节点的text并不唯一,则以上方法不适用。
0 0
原创粉丝点击