<div id="mw5vb"><s id="mw5vb"></s></div>
  • <dl id="mw5vb"></dl>
  • 十年风雨路 · 一心铸精品

    接一个官网 留一件精品 做一个项目 树一块样板

    Asp.Net2.0权限树中Checkbox的操作

      这里使用asp.net2.0的TreeView控件结合javascript实现权限树的部分功能。  假设权限树中有如下三条规则:  1、该节点可以访问,则他的父节点也必能访问;  2、该节点可以访问,则他的子节点也都能访问;  3、该节点不可访问,则他的子节点也不能访问。代码如下://获取元素指定tagName的父元素function public_GetParentByTagName(element, tagName) { var parent = element.parentNo

    时间:2013年01月15日 点击量:

      这里使用asp.net2.0的TreeView控件结合javascript实现权限树的部分功能。
      假设权限树中有如下三条规则:
      1、该节点可以访问,则他的父节点也必能访问;
      2、该节点可以访问,则他的子节点也都能访问;
      3、该节点不可访问,则他的子节点也不能访问。

    代码如下:
    //获取元素指定tagName的父元素
    function public_GetParentByTagName(element, tagName)
    {
    var parent = element.parentNode;
    var upperTagName = tagName.toUpperCase();
    //如果这个元素还不是想要的tag就继续上溯
    while (parent && (parent.tagName.toUpperCase() != upperTagName))
    {
    parent = parent.parentNode ? parent.parentNode : parent.parentElement;
    }
    return parent;
    }

    //设置节点的父节点Cheched——该节点可访问,则他的父节点也必能访问
    function setParentChecked(objNode)
    {
    var objParentDiv = public_GetParentByTagName(objNode,"div");
    if(objParentDiv==null || objParentDiv == "undefined")
    {
    return;
    }
    var objID = objParentDiv.getAttribute("ID");
    objID = objID.substring(0,objID.indexOf("Nodes"));
    objID = objID+"CheckBox";
    var objParentCheckBox = document.getElementById(objID);
    if(objParentCheckBox==null || objParentCheckBox == "undefined")
    {
    return;
    }
    if(objParentCheckBox.tagName!="INPUT" && objParentCheckBox.type == "checkbox")
    return;
    objParentCheckBox.checked = true;
    setParentChecked(objParentCheckBox);
    }

    //设置节点的子节点uncheched——该节点不可访问,则他的子节点也不能访问
    function setChildUnChecked(divID)
    {
    var objchild = divID.children;
    var count = objchild.length;
    for(var i=0;i<objchild.length;i++)
    {
    var tempObj = objchild[i];
    if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
    {
    tempObj.checked = false;
    }
    setChildUnChecked(tempObj);
    }
    }

    //设置节点的子节点cheched——该节点可以访问,则他的子节点也都能访问
    function setChildChecked(divID)
    {
    var objchild = divID.children;
    var count = objchild.length;
    for(var i=0;i<objchild.length;i++)
    {
    var tempObj = objchild[i];
    if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
    {
    tempObj.checked = true;
    }
    setChildChecked(tempObj);
    }
    }

    //触发事件
    function CheckEvent()
    {

    var objNode = event.srcElement;

    if(objNode.tagName!="INPUT" || objNode.type!="checkbox")
    return;

    if(objNode.checked==true)
    {
    setParentChecked(objNode);
    var objID = objNode.getAttribute("ID");
    var objID = objID.substring(0,objID.indexOf("CheckBox"));
    var objParentDiv = document.getElementById(objID+"Nodes");
    if(objParentDiv==null || objParentDiv == "undefined")
    {
    return;
    }
    setChildChecked(objParentDiv);
    }
    else
    {
    var objID = objNode.getAttribute("ID");
    var objID = objID.substring(0,objID.indexOf("CheckBox"));
    var objParentDiv = document.getElementById(objID+"Nodes");
    if(objParentDiv==null || objParentDiv == "undefined")
    {
    return;
    }
    setChildUnChecked(objParentDiv);
    }
    }

    然后在page_load事件中将TreeView与js事件绑定上:

    this.TreeView1.Attributes.Add("onclick", "CheckEvent()");

    推荐案例

    • 成都森美啦园林绿化工程公

    • 四川尚恒科技有限公司

    • 成都九邦物流有限责任公司

    • 四川品睿餐饮管理有限公司

    • 美绘陶社陶艺手绘工作室-暖

    • 成都恩多施生物工程技术有

    • 汶川羌人土特产有限公司

    • 印刷设计公司网站No.3138

    联系我们 / CONTACT US

    • 四川省成都市金牛区五福桥东路229号龙湖北城天街28栋903室
    • 服务热线:400-000-2367 028-86088588
    • 总机:028-62322623-0
    • 传真:028-62322623-823

    扫码访?#20351;?#36784;手机网站

    版权所有 Copyright © 2002-2019 四川冠辰科技开发有限公司  www.ex9p.com 保留所有权利  蜀ICP备11012605号

    地址:四川省成都市金牛区五福桥东路229号龙湖北城天街28栋903室

    服务热线:400-000-2367 028-86088588 总机:028-62322623-0 传真:028-62322623-823

    北京pk10开奘结果查询
    <div id="mw5vb"><s id="mw5vb"></s></div>
  • <dl id="mw5vb"></dl>
  • <div id="mw5vb"><s id="mw5vb"></s></div>
  • <dl id="mw5vb"></dl>