extjs4 checkbox Tree级联checked

生成树的json中添加属性checked:true/false,则可在树生成时添加checkbox并将其显示默认是否选中

如下代码是将父节点被选中时,子节点级联选中

监听,tree的"checkchange"事件即可

1 this.listeners= {  
2   "checkchange":Ext.bind(this.checkChange,this)
3 };
 1 checkChange:function(node, checked, eOpts){
 2         if (checked == true) {
 3             node.checked = checked;
 4             //获得所有叶子节点,并将其选中状态与当前节点同步
 5             var childNodes = node.childNodes;
 6             for(var i=0;i<childNodes.length;i++){
 7                 var child = childNodes[i];
 8                 if(child.get("leaf")){
 9                     child.set("checked", true);
10                 }
11             }
12         }
13         
14        //当前节点取消选中时,其叶子节点状态与其级联
15        if (!node.get("leaf") && !checked){
16            node.cascadeBy(function(node){
17                node.set('checked', checked);
18            });
19        }
20     },

 

posted on 2013-11-29 16:01  看天空的星星  阅读(437)  评论(0编辑  收藏  举报

导航