最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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對(duì)象 
        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)的時(shí)候,使父節(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) //如果全部選中 或者 選擇的是另外一個(gè)根節(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>

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

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

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

}

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

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

相關(guān)文章

最新評(píng)論

班玛县| 连江县| 南江县| 晋江市| 北碚区| 忻城县| 卢龙县| 天祝| 和田市| 衡阳市| 探索| 敦煌市| 苏尼特左旗| 屏南县| 肥西县| 衡阳市| 武山县| 甘洛县| 喀喇沁旗| 电白县| 海伦市| 塘沽区| 旅游| 滨州市| 全椒县| 梅州市| 资源县| 休宁县| 阳朔县| 陇西县| 阿拉善盟| 台北市| 临江市| 新竹市| 霍林郭勒市| 兴业县| 开封市| 花莲市| 秀山| 卢湾区| 沙坪坝区|