zoukankan      html  css  js  c++  java
  • extjs tree check 级联选择

    extjs4 tree check 级联选择 

    实现效果:



    关键代码:

    function changeAllNode(node, isCheck) {
        allChild(node, isCheck);
        allParent(node, isCheck);
        function allChild(nodec, isCheckc) {
            var chileNodes = nodec.childNodes;
            Ext.Array.each(chileNodes, function (nd) {
                if (nd.hasChildNodes()) {
                    nd.set('checked', isCheck);
                    allChild(nd, isCheckc);
                } else {
                    nd.set('checked', isCheck);
                }
            });
        }
    
    
    function allParent(nodep, isCheckp) {
            if (!isCheckp) {
                nodep.set('checked', isCheck);
                if (brothNodesIsTrue(nodep)) {
                } else {
                    if (nodep.getDepth() > 1) {
                        allParent(nodep.parentNode, isCheckp);
                    }
                }
            } else {
                if (nodep.getDepth() > 1) {
                    nodep.set('checked', isCheck);
                    allParent(nodep.parentNode, isCheckp);
                } else {
                    nodep.set('checked', isCheck);
                }
            }
        }
    
    function brothNodesIsTrue(node) {
            var flag = false;
            var brothNodes = node.parentNode.childNodes;
            Ext.Array.each(brothNodes, function (bn) {
                if (bn.get('checked')) {
                    flag = true;
                    return false;
                }
            });
            return flag;
        }
    } 
    


    监听选择事件:

    tree.on('checkchange', function (node, checked) { changeAllNode(node, checked) });



  • 相关阅读:
    springboot运行在eclipse报异常的问题
    Python random模块
    MySQL大小写敏感
    正则表达式详解
    Linux grep命令详解
    Linux printf命令详解
    Linux awk命令详解
    MySQL表介绍
    Linux sed命令详解
    Linux grep命令详解
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3817980.html
Copyright © 2011-2022 走看看