萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JS控件ASP.NET的treeview控件全選或者取消

JS控件ASP.NET的treeview控件全選或者取消

 本篇文章主要是對JS控件ASP.NET的treeview控件全選或者取消的示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助

代碼如下: <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());                    }          }        }    
copyright © 萬盛學電腦網 all rights reserved