JS控件ASP.NET的treeview控件全選或者取消(示例代碼)
<script language="javascript">
/*
函數(shù)名稱:CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)
函數(shù)功能:實現(xiàn)帶checkbox的treeview中
1、選中父結(jié)點其子結(jié)點也全部選中
2、取消全部子結(jié)點的選擇后,父結(jié)點的選擇也隨之取消
使用方法:
1、在<head></head>中間添加CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)
2、在*.aspx.cs的Page_load()事件中添加yourTreeView.Attribute.Add("OnCheck","CheckNode(yourTreeView.getTreeNode(yourTreeView.clickedNodeIndex))")
*/
//遞歸遍歷所有子節(jié)點
function CheckNode(currentNode)
{
var childNode=new Array();
var parentNodeChild=new Array();
var isChecked;
childNode=currentNode.getChildren();
if(currentNode.getAttribute('checked'))
{
isChecked=true;
}
else
{
isChecked=false;
}
//父節(jié)點處理
if(currentNode.getParent()!=null)
{
//選中處理
if(currentNode.getAttribute('Checked'))
{
ParentNode(currentNode);
}
else
//取消選中
{
ChildNode(currentNode);
}
}
else
{
//什么也不做
}
//子節(jié)點處理
if(childNode.length>0)
{
for(var i=0;i<childNode.length;i++)
{
childNode.setAttribute("Checked",isChecked);
if(childNode.getChildren().length>0)
{
CheckNode(childNode);
}
}
}
}
//遞歸選中父節(jié)點
function ParentNode(currentNode)
{
if(currentNode.getParent()!=null)
{
currentNode.getParent().setAttribute('Checked',true);
//遞歸調(diào)用ParentNode(currentNode)以遍歷更上一層的父節(jié)點
ParentNode(currentNode.getParent());
}
}
//遞歸取消選中父節(jié)點
function ChildNode(currentNode)
{
if(currentNode.getParent()!=null)
{
var checkedCount=0;
var childNode=currentNode.getParent().getChildren();
for (var i=0;i<childNode.length;i++)
{
if(childNode.getAttribute('Checked'))
{
checkedCount++;
}
}
if(checkedCount==0)
{
currentNode.getParent().setAttribute('Checked',false);
}
//遞歸調(diào)用ChildNode(currentNode)以遍歷更上一層的父節(jié)點
ChildNode(currentNode.getParent());
}
}
</script>
js遞歸遍歷treeview中某節(jié)點的所有子節(jié)點的問題
var AllRootNode=new Array();
AllRootNode=TreeView1.getChildren();
AlertNode(AllRootNode);
function AlertNode(NodeArray)
{
if(parseInt(NodeArray.length)==0)
return;
else
{
for(i=0;i<NodeArray.length;i++)
{
var cNode;
cNode=NodeArray;
alert(cNode.getAttribute("Text"));
if(parseInt(cNode.getChildren().length)!=0)
AlertNode(cNode.getChildren());
}
}
}
- 比較全的JS checkbox全選、取消全選、刪除功能代碼
- Javascript實現(xiàn)CheckBox的全選與取消全選的代碼
- js multiple全選與取消全選實現(xiàn)代碼
- js實現(xiàn)復(fù)選框的全選和取消全選效果
- javascript 全選/反選,取消選擇效果
- 基于JavaScript實現(xiàn)復(fù)選框的全選和取消全選
- CheckBox為CheckBoxList實現(xiàn)全選或全取消選擇(js代碼實現(xiàn))
- JS小功能(checkbox實現(xiàn)全選和全取消)實例代碼
- javascript 全選與全取消功能的實現(xiàn)代碼
- JS實現(xiàn)表單全選以及取消全選實例
相關(guān)文章
jstree創(chuàng)建無限分級樹的方法【基于ajax動態(tài)創(chuàng)建子節(jié)點】
這篇文章主要介紹了jstree創(chuàng)建無限分級樹的方法,結(jié)合實例形式分析了jstree基于ajax結(jié)合asp.net后臺動態(tài)創(chuàng)建子節(jié)點實現(xiàn)無限分級樹效果的相關(guān)步驟與操作技巧,需要的朋友可以參考下2016-10-10
微信小程序調(diào)用PHP后臺接口 解析純html文本
這篇文章主要為大家詳細介紹了微信小程序調(diào)用PHP后臺接口,解析純html文本的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
JavaScript中return返回多個值的三個方法實現(xiàn)
本文主要介紹了JavaScript中return返回多個值的三個方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08

