国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 21:27:39
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

<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中某節點的所有子節點的問題
復制代碼 代碼如下:

 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());          
        }  
      }  
    } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陵川县| 文安县| 凌云县| 昌宁县| 修武县| 红河县| 定西市| 南华县| 章丘市| 朔州市| 东方市| 观塘区| 汪清县| 建宁县| 文化| 新绛县| 达拉特旗| 固镇县| 嘉祥县| 监利县| 淮安市| 海口市| 敦煌市| 阿合奇县| 亚东县| 房产| 乾安县| 阿勒泰市| 榆树市| 古浪县| 安溪县| 清流县| 阳朔县| 大竹县| 北碚区| 浦江县| 安平县| 南京市| 惠来县| 巩留县| 罗源县|