zoukankan      html  css  js  c++  java
  • Extjs4.x完美treepanel checkbox无限级选中与取消

    注:当node选中, childNodes逐级全部选中. parentNode当子node全部选中时逐级自动选中,nodes未全部选中, parentNode逐级自动取消选中

    在javascript中加入下面的代码,

    /*向上遍历父结点*/
    var nodep=function(node){
    var bnode=true;
    Ext.Array.each(node.childNodes,function(v){
    if(!v.data.checked){
    bnode=false;
    return;
    }
    });
    return bnode;
    };

    var parentnode=function(node){
    if(node.parentNode != null){
    if(nodep(node.parentNode)){
    node.parentNode.set('checked', true);
    }else{
    node.parentNode.set('checked', false);
    }
    parentnode(node.parentNode);
    }
    };


    /*遍历子结点 选中 与取消选中操作*/
    var chd=function(node,check){
    node.set('checked',check);
    if(node.isNode){
    node.eachChild(function (child) {
    chd(child,check);
    });
    }
    };

    /*treepanel为tree名称*/
    treepanel.on('checkchange', function (node, checked) {
    if(checked){
    node.eachChild(function (child) {
    chd(child,true);
    });
    }else{
    node.eachChild(function (child) {
    chd(child,false);
    });
    }
    parentnode(node); //进行父级选中操作
    },treepanel);


    作者:wangqc
    出处:http://www.cnblogs.com/wangqc/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    该文章也同时发布在我的独立博客中-wangqc

  • 相关阅读:
    点分治
    主席树
    可持久化并查集
    可持久化线段树
    网络流
    AC自动机
    线性基
    快速幂
    素数筛
    扩展欧几里得算法
  • 原文地址:https://www.cnblogs.com/wangqc/p/extjstreeNode.html
Copyright © 2011-2022 走看看