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

View Code
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();

}

});

}
View Code
$(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并进行相应的操作



posted @ 2011-11-02 10:15  永少  阅读(1302)  评论(0编辑  收藏  举报