源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-02-14 20:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Asp.Net2.0权限树中Checkbox的操作
  这里使用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()");  
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部