树checkbox选择jquery实例

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="http://my.csdn.net/assets2/js/libs/jquery-1.9.0.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("input[type='checkbox']").click(function () {
                var myid = $(this).attr("id");
                //alert(myid);
                var isSel = $(this).is(":checked");
                selectChkbox(0, myid, isSel);
                selectParentChkbox($(this));
            });
        });
        //变更子节点
        function selectChkbox(n,parentid, isSel) {
            var len = $("input[type='checkbox']").length;
            for (var i = n; i < len; i++) {
                var inp = $("input[type='checkbox']").eq(i);
                var pid = inp.attr("data-parent");
                if (parentid == pid) {
                    if (isSel) {
                        inp.prop("checked", true);
                    } else {
                        inp.prop("checked", false);
                    }
                    selectChkbox(i, inp.attr("id"), isSel);
                }
            }
        }
        //变更父节点
        function selectParentChkbox(clickINP) {
            var parentid = clickINP.attr("data-parent");
            if (parentid != "null") {
                if (!clickINP.is(":checked")) {
                    selectParentChkF(parentid);
                } else {
                    selectParentChkT(parentid);
                }
            }

        }
        function selectParentChkF(parentid) {
            $("#" + parentid).prop("checked", false);
            parentid = $("#" + parentid).attr("data-parent");
            if (parentid != "null")
                selectParentChkF(parentid);
        }
        function selectParentChkT(parentid) {
            var parentSel = true;
            $("input[type='checkbox']").each(function () {
                var pid = $(this).attr("data-parent");
                if (parentid == pid) {
                    if (!$(this).is(":checked")) {
                        parentSel = false;
                    }
                }
            });
            if (parentSel) {
                $("#" + parentid).prop("checked", true);
                parentid = $("#" + parentid).attr("data-parent");
                if (parentid != "null")
                    selectParentChkT(parentid);
            } else {
                selectParentChkF(parentid);
            }
        }
    </script>
</head>

<body>
 <div>
  <div>A<input id="A" data-parent="null" type="checkbox" /></div>
  <div style=" margin-left:16px;">B<input id="B" data-parent="A" type="checkbox" /></div>
  <div style=" margin-left:32px;">B-1<input id="B-1" data-parent="B" type="checkbox" /></div>
  <div style=" margin-left:32px;">B-2<input id="B-2" data-parent="B" type="checkbox" /></div>
  <div style=" margin-left:48px;">B-2-1<input id="B-2-1" data-parent="B-2" type="checkbox" /></div>
  <div style=" margin-left:48px;">B-2-2<input id="B-2-2" data-parent="B-2" type="checkbox" /></div>
  <div style=" margin-left:16px;">C<input id="C" data-parent="A" type="checkbox" /></div>
  <div style=" margin-left:32px;">D<input id="D" data-parent="C" type="checkbox" /></div>
  <div style=" margin-left:32px;">E<input id="E" data-parent="C" type="checkbox" /></div>
 </div>
</body>
</html>

<!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、付费专栏及课程。

余额充值