源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JS控件ASP.NET的treeview控件全选或者取消(示例代码)

  • 时间:2022-01-21 06:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JS控件ASP.NET的treeview控件全选或者取消(示例代码)
[u]复制代码[/u] 代码如下:
<script language="javascript">   /*   函数名称:CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)   函数功能:实现带checkbox的treeview中   1、选中父结点其子结点也全部选中   2、取消全部子结点的选择后,父结点的选择也随之取消   使用方法: 1、在<head></head>中间添加CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)   2、在*.aspx.cs的Page_load()事件中添加yourTreeView.Attribute.Add("OnCheck","CheckNode(yourTreeView.getTreeNode(yourTreeView.clickedNodeIndex))")     */     //递归遍历所有子节点     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;     }     //父节点处理     if(currentNode.getParent()!=null)     {     //选中处理     if(currentNode.getAttribute('Checked'))     {     ParentNode(currentNode);     }     else     //取消选中     {     ChildNode(currentNode);     }     }     else     {     //什么也不做     }     //子节点处理     if(childNode.length>0)     {     for(var   i=0;i<childNode.length;i++)     {     childNode.setAttribute("Checked",isChecked);     if(childNode.getChildren().length>0)     {     CheckNode(childNode);     }     }     }     }     //递归选中父节点     function   ParentNode(currentNode)     {     if(currentNode.getParent()!=null)     {     currentNode.getParent().setAttribute('Checked',true);     //递归调用ParentNode(currentNode)以遍历更上一层的父节点     ParentNode(currentNode.getParent());     }     }     //递归取消选中父节点     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);     }     //递归调用ChildNode(currentNode)以遍历更上一层的父节点     ChildNode(currentNode.getParent());     }     }   </script>
js递归遍历treeview中某节点的所有子节点的问题
[u]复制代码[/u] 代码如下:
 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());                   }         }       } 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部