功能如图演示:

代码如下:

<script type="text/javascript">
//增加TREEVIEW的CHECKBOX的父节点选择状态改变后对应修改所有子节点复选框状态
//适用版本:asp.net 2.0 测试通过
    function addTreeEvent(TreeViewID)
    {
        var oDiv=document.getElementById(TreeViewID);//treeview的ID
        var oChecks=oDiv.getElementsByTagName("INPUT");
        for(var i =0;i<oChecks.length;i++)
        {
            if (oChecks(i).type=="checkbox")oChecks(i).onclick=selectContact;
        }
    }
    function selectContact()
    {
       
        var myElement=document.activeElement;  //checkbox

        while(true)
        {
             //myElement=myElement.ParentElement;
             myElement=myElement.parentNode;
             if (myElement.tagName=="TABLE") break;
        }
  
  myElement=myElement.nextSibling;
  
  if(myElement==null || myElement.tagName=="TABLE")//叶节点,即最终节点
  {
            //有待完善
  }
  
  else  //父或根节点
  
  {
         var oChecks=myElement.getElementsByTagName("INPUT");
        
            for(var i =0;i<oChecks.length;i++)
            {
                if (oChecks(i).type=="checkbox")
                {oChecks(i).checked=document.activeElement.checked;}
            }
  }
               
    }
  //用法示例: 
     addTreeEvent("TreeView1");
     addTreeEvent("TreeView2");
    
</script>

0 回复,0 引用: 增加TREEVIEW(ASP.NET)前台级连选择功能

添加回复

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。