让 TreeView 实现向上全选 功能

来源:互联网 发布:sql 注入攻击 编辑:程序博客网 时间:2024/05/22 07:00

    function OnTreeNodeChecked()
    {
        var ele = event.srcElement;
        if(ele.type=='checkbox')
        {
            var childrenDivID = ele.id.replace('CheckBox','Nodes');
            var div = document.getElementById(childrenDivID);
            if(div!=null)
            {
                var checkBoxs = div.getElementsByTagName('INPUT');
                for(var i=0;i<checkBoxs.length;i++)
                {                   
                    if(checkBoxs[i].type=='checkbox')
                    checkBoxs[i].checked=ele.checked;
                }
            }
            OnTreeNodeChildChecked(ele);        
        }
    }
  
    function OnTreeNodeChildChecked(ele)
    {
            //递归处理
            var parentDiv=ele.parentElement.parentElement.parentElement.parentElement.parentElement;
            var parentChkBox=document.getElementById(parentDiv.id.replace('Nodes','CheckBox'));
            if(parentChkBox!=null)
            {
                var ChildsChkAll=true;
                var Boxs = parentDiv.getElementsByTagName('INPUT');
                for(var i=0;i<Boxs.length;i++)
                {
                    if(Boxs[i].type=='checkbox'&&Boxs[i].checked==false)
                    {
                        ChildsChkAll=false;
                    }
                }
                parentChkBox.checked=ChildsChkAll;
                OnTreeNodeChildChecked(parentChkBox);
            }
    }

 

 

再给TreeView 注册一个onclick 事件就OK

原创粉丝点击