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

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

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

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

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

      }
  }
</script>

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

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

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

}

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

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

相關文章

最新評論

灌阳县| 友谊县| 陇川县| 河北省| 南和县| 独山县| 容城县| 中阳县| 政和县| 织金县| 皮山县| 顺平县| 策勒县| 定结县| 双柏县| 南郑县| 台南市| 米泉市| 施秉县| 台安县| 庄浪县| 玉树县| 德惠市| 中江县| 闸北区| 万全县| 三穗县| 突泉县| 小金县| 武陟县| 湟源县| 上蔡县| 铁力市| 隆子县| 门源| 称多县| 利川市| 呼和浩特市| 贡觉县| 张家口市| 榆林市|