ztree选父不选子,选子不选父

2019-05-23 09:56:12来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

var setting = {
            data: {
                simpleData: {
                    enable: true
                }
            }
            ,check: {
                enable: true
                , chkStyle: 'checkbox'
                //,chkboxType:{ "Y": "", "N": "" }
            }
            ,callback:{
                onCheck:function(e,treeId, treeNode){
                    if(treeId == "treeDemo") {
                        var zTreeObj = $.fn.zTree.getZTreeObj(treeId);
                        optParOrSon(treeId, treeNode,zTreeObj);
                    }
                }
            }
        };
//获取所有子节点
	    var getChildsByTreeNode = function(treeNode,childsArr){
	    	var childsArr = childsArr || [];
	    	if (treeNode.isParent) {//是父节点则获取所有子节点
	    		var childs = treeNode.children;
	    		for(var i in childs){
		        	childsArr.push(childs[i]);
		        	getChildsByTreeNode(childs[i],childsArr);
	        	}
	    	}
	    	return childsArr;
	    };
	    
	    //获取所有父节点
	    var getParsByTreeNode = function(treeNode,parsArr){
	    	var parsArr = parsArr || [];
	    	var parNode = treeNode.getParentNode();
	    	if(parNode){
	    		parsArr.push(parNode);
	    		getParsByTreeNode(parNode,parsArr);
	    	}
	    	return parsArr;
	    }

  

/**
         * 选父不选子,选子不选父
         * */
        var optParOrSon = function(treeId,treeNode,zTreeObj){
            if(treeNode.checked){
                //取消全部后代节点的选中
                var childNodes = getChildsByTreeNode(treeNode);
                for(var i in childNodes){
                    zTreeObj.checkNode(childNodes[i], false, false);
                }
                //同时全部祖先节点也不能被选中
                if(treeNode.getParentNode()){
                    var parNodes = getParsByTreeNode(treeNode);
                    for(var i in parNodes){
                        zTreeObj.checkNode(parNodes[i], false, false);
                    }
                }
            }
        };

 

var setting = {data: {simpleData: {enable: true}},check: {            enable: true            , chkStyle: 'checkbox'            //,chkboxType:{ "Y": "", "N": "" }        },callback:{onCheck:function(e,treeId, treeNode){if(treeId == "treeDemo") {var zTreeObj = $.fn.zTree.getZTreeObj(treeId);                    optParOrSon(treeId, treeNode,zTreeObj);                }}}};


原文链接:https://www.cnblogs.com/littleboyck/p/10912407.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【js】react-native Could not find iPhone 6 simulator 和

下一篇:Ajax介绍