zoukankan      html  css  js  c++  java
  • TreeView控件在客户端的 全选/全消 脚本实现

    首先,在aspx页面中的TreeView定义中,定义:

    <asp:TreeView ID="tvwAll" runat="server" ShowCheckBoxes="All" onclick="postBackByObject()">
    </asp:TreeView>

    第二步,实现javaScript方法:

    function postBackByObject()
    {   
        
    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;
            }

          }    

        } 

    }

    该方法来自于:http://www.cnblogs.com/ltenai/archive/2007/06/28/798822.html

  • 相关阅读:
    SVG 2D入门11
    SVG 2D入门13
    jetty
    jquery 跨域访问问题 转
    js 读取 地址栏参数 转
    油猴 greasemonkey 背景音乐 火狐 chrome 背景音乐
    火狐 about:config
    js javascript 模拟点击 超级链接点击 转
    PostgreSQL的时间/日期函数使用 转
    update 多表
  • 原文地址:https://www.cnblogs.com/EasyLive2006/p/1247516.html
Copyright © 2011-2022 走看看