zoukankan      html  css  js  c++  java
  • 放一段选取treeview控件生成树形菜单复选框所有子节点的js代码

    <script language="javascript" type="text/javascript">
        
    var Obj_;
        document.onclick=function()
        {
            if(event.srcElement.tagName=="INPUT")
            {
                Obj_=event.srcElement;
                getNextElement(event.srcElement);
            }
        }
        function getNextElement(srcObj)
        {
            var i=0;
            while(srcObj.tagName!="TABLE")
            {
                srcObj=srcObj.parentNode;
                i++;
                if(i>20) break;
            }
            //
           
            if(srcObj.nextSibling==null)
            {
                selectParentNode(srcObj);
                return;
            }
            if(srcObj.nextSibling.tagName=="DIV")
            {
                var targetObj=srcObj.nextSibling;
                selectThem(targetObj);
            }
    //        else if(srcObj.nextSibling.tagName=="TABLE")
    //        {
    //            //
    //        }
            selectParentNode(srcObj);
        }
        function selectThem(targetObj_)
        {
            var ChexBox_Obj=targetObj_.getElementsByTagName("INPUT");
            for(var i=0;i<ChexBox_Obj.length;i++)
            {
                ChexBox_Obj[i].checked=Obj_.checked;
            }
        }
        function selectParentNode(obj)
        {
            while(obj.parentNode.previousSibling.tagName=="TABLE")
            {
                //
                var parentObj=obj.parentNode;
                var ChexBox_brother=parentObj.getElementsByTagName("INPUT");
                var counter_=0;
                for(var i=0;i<ChexBox_brother.length;i++)
                {
                    if(ChexBox_brother[i].checked) counter_++;
                }
                //
                var parentNContiner=obj.parentNode.previousSibling;
                var CheckB=parentNContiner.getElementsByTagName("INPUT");
                CheckB[0].checked=counter_>0?true:false;
                obj=parentNContiner;
            }
        }
      
    </script>

    想必大家都是触类旁通的,这段代码适合vs2005中treeview控件生成的树形菜单,以下是代码片段:
    <asp:TreeView ID="TreeView_1" ShowCheckBoxes="all" runat="server" ShowLines="true" >
  • 相关阅读:
    Writing Custom Providers
    terraform 几个方便的工具
    几张简单的terraform flow 图——可以快速了解terraform的使用
    Stateful Kubernetes Applications Made Easier: PSO and FlashBlade
    使用k8s && minio 进行 postgres 数据库自动备份
    Understanding how uid and gid work in Docker containers
    nightwatchjs 基于nodejs&& webdriver 协议的自动化测试&&持续集成框架
    hasura graphql-engine graphql2chartjs 方便的graphql 转换chartjs 的类库
    nginx unit 1.8 支持基于java servlet 的开发模型
    试用 openresty/lua-resty-shell
  • 原文地址:https://www.cnblogs.com/zhangsir/p/1170206.html
Copyright © 2011-2022 走看看