国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

Asp.Net2.0權(quán)限樹(shù)中Checkbox的操作

2024-07-10 13:13:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這里使用asp.net2.0的TreeView控件結(jié)合JavaScript實(shí)現(xiàn)權(quán)限樹(shù)的部分功能。
  假設(shè)權(quán)限樹(shù)中有如下三條規(guī)則:
  1、該節(jié)點(diǎn)可以訪問(wèn),則他的父節(jié)點(diǎn)也必能訪問(wèn);
  2、該節(jié)點(diǎn)可以訪問(wèn),則他的子節(jié)點(diǎn)也都能訪問(wèn);
  3、該節(jié)點(diǎn)不可訪問(wèn),則他的子節(jié)點(diǎn)也不能訪問(wèn)。

代碼如下:
//獲取元素指定tagName的父元素
function public_GetParentByTagName(element, tagName) 
{
var parent = element.parentNode;
var upperTagName = tagName.toUpperCase();
//如果這個(gè)元素還不是想要的tag就繼續(xù)上溯
while (parent && (parent.tagName.toUpperCase() != upperTagName)) 
{
parent = parent.parentNode ? parent.parentNode : parent.parentElement;
}
return parent;
}

//設(shè)置節(jié)點(diǎn)的父節(jié)點(diǎn)Cheched——該節(jié)點(diǎn)可訪問(wèn),則他的父節(jié)點(diǎn)也必能訪問(wèn)
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);
}

//設(shè)置節(jié)點(diǎn)的子節(jié)點(diǎn)uncheched——該節(jié)點(diǎn)不可訪問(wèn),則他的子節(jié)點(diǎn)也不能訪問(wèn)
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); 
}
}

//設(shè)置節(jié)點(diǎn)的子節(jié)點(diǎn)cheched——該節(jié)點(diǎn)可以訪問(wèn),則他的子節(jié)點(diǎn)也都能訪問(wèn)
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); 
}
}

//觸發(fā)事件
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()");

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 台东市| 高碑店市| 太原市| 河曲县| 灵台县| 卢湾区| 南平市| 苍梧县| 绵竹市| 客服| 秦皇岛市| 依兰县| 灯塔市| 泰兴市| 高尔夫| 京山县| 辽阳市| 南部县| 渑池县| 法库县| 黔东| 迁安市| 政和县| 章丘市| 宁远县| 大英县| 旬阳县| 板桥市| 广宗县| 若尔盖县| 湛江市| 文水县| 宝丰县| 靖江市| 台江县| 建昌县| 同仁县| 萍乡市| 天峨县| 冷水江市| 大冶市|