JS控件ASP.NET的treeview控件全選或者取消(示例代碼)
<script language="javascript">
/*
函數(shù)名稱:CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)
函數(shù)功能:實(shí)現(xiàn)帶checkbox的treeview中
1、選中父結(jié)點(diǎn)其子結(jié)點(diǎn)也全部選中
2、取消全部子結(jié)點(diǎn)的選擇后,父結(jié)點(diǎn)的選擇也隨之取消
使用方法:
1、在<head></head>中間添加CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)
2、在*.aspx.cs的Page_load()事件中添加yourTreeView.Attribute.Add("OnCheck","CheckNode(yourTreeView.getTreeNode(yourTreeView.clickedNodeIndex))")
*/
//遞歸遍歷所有子節(jié)點(diǎn)
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é)點(diǎn)處理
if(currentNode.getParent()!=null)
{
//選中處理
if(currentNode.getAttribute('Checked'))
{
ParentNode(currentNode);
}
else
//取消選中
{
ChildNode(currentNode);
}
}
else
{
//什么也不做
}
//子節(jié)點(diǎn)處理
if(childNode.length>0)
{
for(var i=0;i<childNode.length;i++)
{
childNode.setAttribute("Checked",isChecked);
if(childNode.getChildren().length>0)
{
CheckNode(childNode);
}
}
}
}
//遞歸選中父節(jié)點(diǎn)
function ParentNode(currentNode)
{
if(currentNode.getParent()!=null)
{
currentNode.getParent().setAttribute('Checked',true);
//遞歸調(diào)用ParentNode(currentNode)以遍歷更上一層的父節(jié)點(diǎn)
ParentNode(currentNode.getParent());
}
}
//遞歸取消選中父節(jié)點(diǎn)
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é)點(diǎn)
ChildNode(currentNode.getParent());
}
}
</script>
js遞歸遍歷treeview中某節(jié)點(diǎn)的所有子節(jié)點(diǎn)的問題
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實(shí)現(xiàn)CheckBox的全選與取消全選的代碼
- js multiple全選與取消全選實(shí)現(xiàn)代碼
- js實(shí)現(xiàn)復(fù)選框的全選和取消全選效果
- javascript 全選/反選,取消選擇效果
- 基于JavaScript實(shí)現(xiàn)復(fù)選框的全選和取消全選
- CheckBox為CheckBoxList實(shí)現(xiàn)全選或全取消選擇(js代碼實(shí)現(xiàn))
- JS小功能(checkbox實(shí)現(xiàn)全選和全取消)實(shí)例代碼
- javascript 全選與全取消功能的實(shí)現(xiàn)代碼
- JS實(shí)現(xiàn)表單全選以及取消全選實(shí)例
相關(guān)文章
js輸出數(shù)據(jù)精確到小數(shù)點(diǎn)后n位代碼
要保留小數(shù)點(diǎn)后N位的問題,經(jīng)過一番思索,終于解決了,這篇文章主要介紹了js輸出數(shù)據(jù)精確到小數(shù)點(diǎn)后n位代碼,感興趣的朋友可以參考一下2016-07-07微信JS-SDK實(shí)現(xiàn)微信會(huì)員卡功能(給用戶微信卡包里發(fā)送會(huì)員卡)
這篇文章主要介紹了微信JS-SDK實(shí)現(xiàn)微信會(huì)員卡功能(給用戶微信卡包里發(fā)送會(huì)員卡),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07javascript當(dāng)中的代碼嗅探擴(kuò)展原生對(duì)象和原型(prototype)
如果不是有特殊需要而去擴(kuò)展原生對(duì)象和原型(prototype)的做法是不好的,除非這樣做是值得的,例如,向一些舊的瀏覽器中添加一些ECMAScript5中的方法2013-01-01如何將一個(gè)String和多個(gè)String值進(jìn)行比較思路分析
開發(fā)中我們經(jīng)常需要將一個(gè)String和多個(gè)String值進(jìn)行比較。直覺反應(yīng)是使用||符號(hào)連接多個(gè)===完成,感興趣的朋友可以了解下哈2013-04-04js實(shí)現(xiàn)數(shù)字每三位加逗號(hào)的方法
這篇文章主要介紹了js實(shí)現(xiàn)數(shù)字每三位加逗號(hào)的方法,以實(shí)例形式講述了js實(shí)現(xiàn)數(shù)字每三位加逗號(hào)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02簡介EasyUI datagrid editor combogrid搜索框的實(shí)現(xiàn)
這篇文章主要介紹了EasyUI datagrid editor combogrid搜索框的實(shí)現(xiàn),涉及到EasyUI中combogrid的使用方法的相關(guān)知識(shí),非常具有參考價(jià)值,需要的朋友可以參考下2016-04-04