javascript实现TreeView 无刷新展开的实例代码
javascript实现TreeView 无刷新展开的实例代码
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:functionpublic_GetParentByTagName(element,tagName){varparent=...

复制代码 代码如下:

function public_GetParentByTagName(element, tagName)

{

var parent = element.parentNode;

var upperTagName = tagName.toUpperCase();

//如果这个元素还不是想要的tag就继续上溯

while (parent && (parent.tagName.toUpperCase() != upperTagName))

{

parent = parent.parentNode ? parent.parentNode : parent.parentElement;

}

return parent;

}

//设置节点的父节点Cheched——该节点可访问,则他的父节点也必能访问

function setParentChecked(objNode)

{

var objParentDiv = public_GetParentByTagName(objNode,"div");

if(objParentDiv==null || objParentDiv == "undefined")

{

return;

}

var objID = objParentDiv.getAttribute("ID");

objID = objID.substring(0,objID.indexOf("Nodes"));

objID = objID+"CheckBox";

var objParentCheckBox = document.getElementById(objID);

if(objParentCheckBox==null || objParentCheckBox == "undefined")

{

return;

}

if(objParentCheckBox.tagName!="INPUT" && objParentCheckBox.type == "checkbox")

return;

objParentCheckBox.checked = true;

setParentChecked(objParentCheckBox);

}

//设置节点的子节点uncheched——该节点不可访问,则他的子节点也不能访问

function setChildUnChecked(divID)

{

var objchild = divID.children;

var count = objchild.length;

for(var i=0;i<objchild.length;i++)

{

var tempObj = objchild[i];

if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")

{

tempObj.checked = false;

}

setChildUnChecked(tempObj);

}

}

//设置节点的子节点cheched——该节点可以访问,则他的子节点也都能访问

function setChildChecked(divID)

{

var objchild = divID.children;

var count = objchild.length;

for(var i=0;i<objchild.length;i++)

{

var tempObj = objchild[i];

if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")

{

tempObj.checked = true;

}

setChildChecked(tempObj);

}

}

//触发事件

function CheckEvent()

{

var objNode = event.srcElement;

if(objNode.tagName!="INPUT" || objNode.type!="checkbox")

return;

if(objNode.checked==true)

{

setParentChecked(objNode);

var objID = objNode.getAttribute("ID");

var objID = objID.substring(0,objID.indexOf("CheckBox"));

var objParentDiv = document.getElementById(objID+"Nodes");

if(objParentDiv==null || objParentDiv == "undefined")

{

return;

}

setChildChecked(objParentDiv);

}

else

{

var objID = objNode.getAttribute("ID");

var objID = objID.substring(0,objID.indexOf("CheckBox"));

var objParentDiv = document.getElementById(objID+"Nodes");

if(objParentDiv==null || objParentDiv == "undefined")

{

return;

}

setChildUnChecked(objParentDiv);

}

}

服务端控件

复制代码 代码如下:

this.tvPrivilege.Attributes.Add("OnClick", "CheckEvent()");

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类