Jquery操作TreeView 父节点checkbox选中,子节点checkbox也选中

来源:互联网 发布:surface 手写笔记软件 编辑:程序博客网 时间:2024/04/30 13:02

 

        function CheckSub() {

            var ClickChecked = $(this).attr("checked");

            var ClickID = $(this).attr("id").toString();

            var SubID = ClickID.replace("CheckBox", "Nodes");

            $("#" + SubID).find("input[type='checkbox']").attr("checked", ClickChecked);

            //获取选中的checkbox的部门ID

            var DeptIDS = "";

            $("#TreeView1").find("input[type='checkbox']").each(function (i) {

                var checked = $(this).attr("checked");

                if (checked == true) {

                    DeptIDS = DeptIDS + "," + $(this).attr("title").toString();

                }

            });

}

 

 

绑定相应的事件

 

 

      $(document).ready(function () {

            $("input[type='checkbox']").bind("click", CheckSub);          

        });

 

 

 

 

ASP.Net 2.0 Treeview自动生成的Html脚本结构如下:
<div>          //
      <table/> //节点
      <div/>   //节点的子节点,里面的内容是一个或多个<table/><div/>
</div>
因此是<table/><div/>构成一个节点,但很难明确的在DOM中确定一个节点,原因如下:
1.        IDName是顺序排列的,命名规则如下: ID + “n” + 节点序号,例如 MyTreen0
商业的TreeView一般在ID中包含层次信息,如: MyTreeNode1_1_2 表示树的1.1.2那个节点,分析起来很容易
2.        上面描述的节点命名的ID,是分配给<table/>里的<A/>也就是显示 加号 减号的那个链接元素,由于该元素在<table/>中,因此给分析带来了难度
3.        叶子节点没有上面所描述的<table/>里的那个<A/>
用当前选中的checkbox的ID  MyTreen0Checkbox去掉 checkbox(替换为Nodes) 得到的是节点的node的ID MyTreen0Nodes
再用这个节点的ID来获取其孩子是checkbox的所有ID并进行相应的操作

 

原创粉丝点击