Ztree节点后面自定义checkbox

1.引用JS,Css文件

<link rel="stylesheet" href="/bower_components/zTree/css/metroStyle/metroStyle.css" type="text/css">
    <script src="/bower_components/zTree/js/jquery.ztree.all.js"></script>
2.html页面

<ul id="treeAuth" class="ztree"></ul>

3.JS代码

    
var GroupEdit = function () {
    var o = this;
    $(document).ready(function () {
        o.initialize();
    });
};
var p = GroupEdit.prototype;


   p.initialize = function () {
        p._initMatch();
    };

    //页面隐藏域权限码串
    p.authList = $("#authCodes").val() == null ? "" : $("#authCodes").val();
    p.nameNum = 0;

    //初始化ztree
    p._initMatch = function(){
        $.fn.zTree.init($("#treeAuth"), p.setting, p.zNodes);
    };

    p.zNodes =[
        { id:1, pId:0, name:"首页", open:true,type:"0",},
        { id:11, pId:1, name:"首页",type:"1",operation:"R,W",authName:"AUTHORITY_APP_HOME"},
        { id:2, pId:0, name:"业务",open:true,type:"0"},
        { id:21, pId:2, name:"订单",type:"1",operation:"R,W",authName:"AUTHORITY_APP_ORDER"},
        { id:22, pId:2, name:"维护",type:"1",operation:"R,W",authName:"AUTHORITY_APP_CUSTOMER"},
        { id:23, pId:2, name:"单位",type:"1",operation:"R,W",authName:"AUTHORITY_APP_CONSIGNEE"},
        { id:3, pId:0, name:"管理",open:true,type:"0"},
        { id:31, pId:3, name:"单",type:"1",operation:"R,W",authName:"AUTHORITY_APP_WAYBILL"},
        { id:32, pId:3, name:"商管理",type:"1",operation:"R,W",authName:"AUTHORITY_APP_CARRIER"}
    ];

    //全选取消权限绑定事件
    p.selSubNode = function(obj,treeId, treeNode) {
        var childrenNodes = treeNode.children;
        if (childrenNodes) {
            for (var i = 0; i < childrenNodes.length; i++) {
                $("#cheIdR" + childrenNodes[i].id).prop("checked",obj.checked);
                $("#cheIdW" + childrenNodes[i].id).prop("checked",obj.checked);
            }
        }

    }
    //绑定多选框事件
    p.addDiyDom = function(treeId,treeNode) {
        if (treeNode.parentNode && treeNode.parentNode.id!=2) return;
        var aObj = $("#" + treeNode.tId + "_a");
        var editStr = "";
        if(treeNode.type == "0"){
            editStr += "  <span><input id='selAll"+treeNode.tId+"' type='checkbox'/> 全选</span>";
        }else{
            var value = treeNode.operation.split(",");
            for(var i = 0;i<value.length ;i++){

                var show = "" ,cheName = "",
                    checkId = "id='cheId" + value[i].split("-")[0] + treeNode.id + "'",
                    code = treeNode.authName +"_" + value[i],
                    cheValue = " value='" + code + "'",
                    showCheck = "  <input type='checkbox' "+ checkId  + cheValue ;

                if(value[i] == "R"){
                    show = "只读";
                    cheName = " name='groupAuthorities[" + p.nameNum + "].authority'";
                }else if(value[i]== "W"){
                    show = "操作";
                    cheName = " name='groupAuthorities[" + p.nameNum + "].authority'";
                }

                showCheck += cheName;

                if(p.authList.indexOf(code) != -1){
                    showCheck += " checked='checked'/> " + show;
                }else{
                    showCheck += "/> " + show;
                }

                editStr += showCheck;
                p.nameNum++;
            }
        }

        aObj.after(editStr);
        //全选事件绑定
        $("#selAll" + treeNode.tId).click(function(){
            p.selSubNode(this,treeId,treeNode);
        });
    }
    //ztree绑定事件
    p.setting = {
        data: {
            simpleData: {
                enable: true
            }
        },
        view: {
            addDiyDom:p.addDiyDom
        }
    };




<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - checkbox</TITLE> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="zTreeStyle.css" type="text/css"> <script type="text/javascript" src="jquery-1.4.4.min.js"></script> <script type="text/javascript" src="jquery.ztree.core.js"></script> <script type="text/javascript" src="jquery.ztree.excheck.js"></script> <SCRIPT type="text/javascript"> var setting = {check: {enable: true},data: {simpleData: {enable: true}}}; var zNodes =[ { id:1, pId:0, name:"全选", open:true}, { id:11, pId:1, name:"报表", open:true}, { id:111, pId:11, name:"报表管理",open:true}, { id:112, pId:11, name:"报表概况",open:true}, { id:12, pId:1, name:"我的", open:true}, { id:121, pId:12, name:"修改密码",open:true}, { id:122, pId:12, name:"意见反馈",open:true} ]; $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting, zNodes); var zTree = $.fn.zTree.getZTreeObj("treeDemo"), type = { "Y":'ps', "N":'ps'}; zTree.setting.check.chkboxType = type; }); function aa(){ var treeObj=$.fn.zTree.getZTreeObj("treeDemo"); nodes=treeObj.getCheckedNodes(true); var nodes1 = treeObj.getNodes(); var aa1= treeObj.transformToArray(nodes1); for(var i=0; i < aa1.length;i++){ var node = treeObj.getNodeByParam("id",aa1[i].id ); treeObj.checkNode(node,true,true); treeObj.updateNode(node); } } </SCRIPT> </HEAD> <BODY> <div class="content_wrap"> <div class="zTreeDemoBackground left"> <ul id="treeDemo" class="ztree"></ul> </div> <button value="dianji" onclick="aa()" /> </div> </BODY> </HTML>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值