function OnTreeNodeChecked() {
var ele = event.srcElement;//获得事件的所有属性
if (ele.type == 'checkbox') //判断事件的type是否是checkbox
{
var childrenDivID = ele.id.replace('CheckBox', 'Nodes');//事件的id中checkbox用nodes代替
var div = document.getElementById(childrenDivID);
if (div != null) //判断是否有子集
{
var checkBoxs = div.getElementsByTagName('INPUT');//获得所有的子集
for (var i = 0; i < checkBoxs.length; i++)
{
if (checkBoxs[i].type == 'checkbox')//判断其type是否为checkbox
{
checkBoxs[i].checked = ele.checked;//将子集的checkbox状态设定为何父级的checkbox的状态一致
}
}
}
OnTreeNodeChildChecked(ele);
}
}
function OnTreeNodeChildChecked(ele) {
//自动处理上级
try {
var parentDiv = ele.parentElement.parentElement.parentElement.parentElement.parentElement;//获得其id
var parentChkBox = document.getElementById(parentDiv.id.replace('Nodes', 'CheckBox'));
if (parentChkBox != null) //和上面那句判断是否有父级
{
var ChildsChkAll = true;//设置一个变量 为true
var Boxs = parentDiv.getElementsByTagName('INPUT');
var m = 0;
var n = 0;
for (var i = 0; i < Boxs.length; i++) {
if (Boxs[i].type == 'checkbox') {
m++;
}
if (Boxs[i].type == 'checkbox' && Boxs[i].checked == false) {
n++
}
}
if (m == n)//判断同级中是否都未选中
{
ChildsChkAll = false;
}
parentChkBox.checked = ChildsChkAll; //父级的选中状态为ChildsChkAll
OnTreeNodeChildChecked(parentChkBox);
}
}
catch (e) {
}
}