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

首頁 > 編程 > JavaScript > 正文

JS控制TreeView的結點選擇

2019-11-19 18:59:05
字體:
來源:轉載
供稿:網友

網上有很多控制TreeView的checkbox選中,但是自己嘗試的時候,要么報錯,要么不可行。以下這種寫法是經過驗證有效的,僅作參考,思維比較巧妙!

Tree:

<asp:TreeView ID="treeViewDapartment" runat="server" SelectedNodeStyle-BackColor="GrayText" onclick="javascript:NodeCheck();"      Font-Size="13px" ShowCheckBoxes="All" ShowLines="true" AutoGenerateDataBindings="false" ShowExpandCollapse="true" ></asp:TreeView>

腳本:

<script language="javascript" type="text/javascript">   //節點父節點選中子節點全選   function NodeCheck() {        var o = window.event.srcElement;      if (o.tagName == "INPUT" && o.type == "checkbox") //點擊treeview的checkbox是觸發       {        var d = o.id; //獲得當前checkbox的id;         var e = d.replace("CheckBox", "Nodes"); //通過查看腳本信息,獲得包含所有子節點div的id         var div = window.document.getElementById(e); //獲得div對象         if (div != null) //如果不為空則表示,存在自節點         {          var check = div.getElementsByTagName("INPUT"); //獲得div中所有的已input開始的標記           for (i = 0; i < check.length; i++) {            if (check[i].type == "checkbox") //如果是checkbox             {              check[i].checked = o.checked; //字節點的狀態和父節點的狀態相同,即達到全選             }          }        }        else //點子節點的時候,使父節點的狀態改變,即不為全選        {          var divid = o.parentElement.parentElement.parentElement.parentElement.parentElement; //子節點所在的div             var id = divid.id.replace("Nodes", "CheckBox"); //獲得根節點的id           var checkbox = divid.getElementsByTagName("INPUT"); //獲取所有子節點數          var s = 0;          for (i = 0; i < checkbox.length; i++) {            if (checkbox[i].checked) //判斷有多少子節點被選中             {              s++;            }          }          if (s == checkbox.length) //如果全部選中 或者 選擇的是另外一個根節點的子節點 ,           {                //  則開始的根節點的狀態仍然為選中狀態             window.document.getElementById(id).checked = true;          }          else {                //否則為沒選中狀態             window.document.getElementById(id).checked = false;          }        }      }  }</script>

這個腳本的寫法巧妙運用生成的頁面源文件中checkbox與其子結點div之間的關系!

那么,只需要在注冊一下觸發事件即可:

protected void Page_Load(object sender, EventArgs e){      this.treeViewDapartment.Attributes.Add("onclick", "NodeCheck();"); }

特別感謝,雷云鋒給予的指導!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀集县| 曲阜市| 北宁市| 定南县| 信丰县| 建瓯市| 金溪县| 洪泽县| 个旧市| 福州市| 柳河县| 平遥县| 阿鲁科尔沁旗| 阜康市| 沙雅县| 永新县| 稷山县| 正宁县| 恭城| 城固县| 陆川县| 二连浩特市| 观塘区| 富阳市| 巨野县| 柞水县| 鞍山市| 辽宁省| 深泽县| 当涂县| 金平| 永川市| 南部县| 汉川市| 苍南县| 棋牌| 奉化市| 富裕县| 进贤县| 雷波县| 伊吾县|