Extjs TreePanel选中子节点默认选中父节点,取消勾选父节点子节点默认取消

首先在TreePanel里面加一个事件checkchange

然后在事件里写入一下内容:

// checkchange事件

checkAllchild_click : function(node,checked){
     var me=this;
      if (node.data.leaf == false) {  
               if (checked) {  
                   // 打开节点  
                   node.expand();  
                   // 遍历孩子  
                   me.setChildNode(node.childNodes,checked);
               } else {  
                   node.expand();  
                   me.setChildNode(node.childNodes,checked);
               }  
           } else { // 单击叶子时候  
               if (checked) { // 未被选中时,取消父节点的选择状态  
              me.setParentNode(node,checked);
               }  
           }  
       },
       //反选父节点
        setParentNode:function(node,checked){
      node.set('checked', checked);  
            if(node.parentNode!=null){
           this.setParentNode(node.parentNode, checked); 
            }
      },
    //选子节点
        setChildNode: function (childNodes,checked){
        var node;
              for(var i=0;i<childNodes.length;i++){
                node= childNodes[i];
                node.set('checked', checked);  
                if(node.childNodes.length>0){
                this.setChildNode(node.childNodes, checked); 
                }
              }
      }


最后注意一点复选框必须是自己后台传过来的,必须是自己写的,不能用工具画(比如sencha),否则无效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值