ztree 通过checkbox 设置单选 和 通过父级选择子级

页面树:

<div class="tree">
                    <div class="treeleft ">
                        <div class="content minheight">
                            <ul id="treeDemo" class="ztree" style="width:360px; overflow:auto;min-height: 500px;">加载中...</ul>
                        </div>
                    </div>   
</div>

js:

var isShow = false;
var setting = {
    check: { //表示tree的节点在点击时的相关设置
        enable: true, //是否显示radio/checkbox
        autoCheckTrigger: false,
        chkStyle: "checkbox",//值为checkbox或者radio表示
        chkboxType: {"Y": "", "N": ""}//表示父子节点的联动效果,这里设置不联动
    },

    view: {
        expandSpeed:"",
        selectedMulti: false
    },
    data: {
        simpleData: {enable: true}
    },
    callback: {
        onCheck: zTreeOnCheck,
    }
};

 function zTreeOnCheck(event, treeId, treeNode, clickFlag){
    var zTree = $.fn.zTree.getZTreeObj("treeDemo");
    var nodes2 = zTree.getCheckedNodes(true);
    if(!treeNode.isParent){
        for(var i=0;i<nodes2.length;i++){
            if(nodes2[i].id != treeNode.id){
                nodes2[i].checked = false;
                zTree.updateNode(nodes2[i]);
            }
        }

    }else{
        $("#deptEditDiv").css({visibility:"hidden"});
        for(var i=0;i<nodes2.length;i++){
            if(nodes2[i].id != treeNode.id){
                nodes2[i].checked = false;
                zTree.updateNode(nodes2[i]);
            }
        }
        if(treeNode.checked){
            var childrenNodes = treeNode.children;
            if(childrenNodes){
                for(var i=0;i<childrenNodes.length;i++){
                    childrenNodes[i].checked=true;
                    zTree.updateNode(childrenNodes[i]);
                    if(childrenNodes[i].isParent){
                        var children =childrenNodes[i].children;
                        if(children){
                            for(var j=0;j<children.length;j++){
                                children[j].checked=true;
                                zTree.updateNode(children[j]);
                            }
                        }
                    }
                }
            }
        }else{
            var childrenNodes = treeNode.children;
            if(childrenNodes){
                for(var i=0;i<childrenNodes.length;i++){
                    childrenNodes[i].checked=false;
                    zTree.updateNode(childrenNodes[i]);
                    if(childrenNodes[i].isParent){
                        var children =childrenNodes[i].children;
                        if(children){
                            for(var j=0;j<children.length;j++){
                                children[j].checked=false;
                                zTree.updateNode(children[j]);
                            }
                        }
                    }
                }
            }
        }

    }

扫描二维码关注公众号,回复: 6210904 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_35872777/article/details/88354287