欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS控制TreeView的結(jié)點(diǎn)選擇

 更新時間:2016年11月11日 09:07:07   作者:Lerry.Zhao  
這篇文章主要為大家詳細(xì)介紹了JS控制TreeView的結(jié)點(diǎn)選擇,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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">
   //節(jié)點(diǎn)父節(jié)點(diǎn)選中子節(jié)點(diǎn)全選
   function NodeCheck() {  
      var o = window.event.srcElement;
      if (o.tagName == "INPUT" && o.type == "checkbox") //點(diǎn)擊treeview的checkbox是觸發(fā) 
      {
        var d = o.id; //獲得當(dāng)前checkbox的id; 
        var e = d.replace("CheckBox", "Nodes"); //通過查看腳本信息,獲得包含所有子節(jié)點(diǎn)div的id 
        var div = window.document.getElementById(e); //獲得div對象 
        if (div != null) //如果不為空則表示,存在自節(jié)點(diǎn) 
        {
          var check = div.getElementsByTagName("INPUT"); //獲得div中所有的已input開始的標(biāo)記 
          for (i = 0; i < check.length; i++) {
            if (check[i].type == "checkbox") //如果是checkbox 
            {
              check[i].checked = o.checked; //字節(jié)點(diǎn)的狀態(tài)和父節(jié)點(diǎn)的狀態(tài)相同,即達(dá)到全選 
            }
          }
        }
        else //點(diǎn)子節(jié)點(diǎn)的時候,使父節(jié)點(diǎn)的狀態(tài)改變,即不為全選
        {
          var divid = o.parentElement.parentElement.parentElement.parentElement.parentElement; //子節(jié)點(diǎn)所在的div   
          var id = divid.id.replace("Nodes", "CheckBox"); //獲得根節(jié)點(diǎn)的id 

          var checkbox = divid.getElementsByTagName("INPUT"); //獲取所有子節(jié)點(diǎn)數(shù)
          var s = 0;
          for (i = 0; i < checkbox.length; i++) {
            if (checkbox[i].checked) //判斷有多少子節(jié)點(diǎn)被選中 
            {
              s++;
            }
          }
          if (s == checkbox.length) //如果全部選中 或者 選擇的是另外一個根節(jié)點(diǎn)的子節(jié)點(diǎn) , 
          {                //  則開始的根節(jié)點(diǎn)的狀態(tài)仍然為選中狀態(tài) 
            window.document.getElementById(id).checked = true;
          }
          else {                //否則為沒選中狀態(tài) 
            window.document.getElementById(id).checked = false;
          }
        }

      }
  }
</script>

這個腳本的寫法巧妙運(yùn)用生成的頁面源文件中checkbox與其子結(jié)點(diǎn)div之間的關(guān)系!

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

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

}

特別感謝,雷云鋒給予的指導(dǎo)!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Javascript數(shù)組的使用

    淺談Javascript數(shù)組的使用

    這篇文章主要介紹了淺談Javascript數(shù)組的使用的相關(guān)資料,包括數(shù)組的大小,數(shù)組的遍歷以及數(shù)組的一些方法,非常細(xì)致,需要的朋友可以參考下
    2015-07-07
  • 微信小程序?qū)崿F(xiàn)計時器開始和結(jié)束功能

    微信小程序?qū)崿F(xiàn)計時器開始和結(jié)束功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)計時器開始和結(jié)束功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Echart中國地圖更換背景圖的方法示例

    Echart中國地圖更換背景圖的方法示例

    本文主要介紹了Echart中國地圖更換背景圖的方法示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • bootstrap時間控件daterangepicker使用方法及各種小bug修復(fù)

    bootstrap時間控件daterangepicker使用方法及各種小bug修復(fù)

    這篇文章主要介紹了bootstrap時間控件daterangepicker使用方法,及各種小bug修復(fù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • jQuery檢測輸入的字符串包含的中英文的數(shù)量

    jQuery檢測輸入的字符串包含的中英文的數(shù)量

    這篇文章主要介紹了jQuery檢測輸入的字符串包含的中英文的數(shù)量的實(shí)現(xiàn)方法,非常的實(shí)用,這里推薦給小伙伴,有需要的朋友可以參考下。
    2015-04-04
  • javascript操作元素的常見方法小結(jié)

    javascript操作元素的常見方法小結(jié)

    這篇文章主要介紹了javascript操作元素的常見方法,結(jié)合實(shí)例形式總結(jié)分析了JavaScript針對頁面元素動態(tài)獲取、賦值、動態(tài)操作相關(guān)使用技巧,需要的朋友可以參考下
    2019-11-11
  • Web開發(fā)必知Javascript技巧大全

    Web開發(fā)必知Javascript技巧大全

     JavaScript是一個絕冠全球的編程語言,可用于Web開發(fā)、移動應(yīng)用開發(fā)(PhoneGap、Appcelerator)、服務(wù)器端開發(fā)(Node.js和Wakanda)等等,通過本文給大家介紹Web開發(fā)必知Javascript技巧大全,需要的朋友參考下吧
    2016-02-02
  • JSONP原理及應(yīng)用實(shí)例詳解

    JSONP原理及應(yīng)用實(shí)例詳解

    這篇文章主要介紹了JSONP原理及應(yīng)用實(shí)例詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • url特殊字符編碼encodeURI?VS?encodeURIComponent分析

    url特殊字符編碼encodeURI?VS?encodeURIComponent分析

    這篇文章主要介紹了url特殊字符編碼encodeURI?VS?encodeURIComponent分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • JavaScript字符串String和Array操作的有趣方法

    JavaScript字符串String和Array操作的有趣方法

    字符串和數(shù)組在程序編寫過程中是十分常用的類型,因此程序語言都會將String和Array作為基本類型,并提供許多字符串和數(shù)組的方法來簡化對字符串的操作
    2012-12-12

最新評論