国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 虞城县| 芦山县| 基隆市| 资中县| 基隆市| 岑溪市| 旌德县| 德化县| 麻江县| 朝阳区| 随州市| 新津县| 新邵县| 仪陇县| 新蔡县| 杭州市| 突泉县| 星座| 三穗县| 汨罗市| 平舆县| 紫金县| 西贡区| 龙游县| 合江县| 犍为县| 湘阴县| 紫金县| 沁源县| 垣曲县| 安庆市| 阳西县| 文水县| 洪湖市| 镇巴县| 安阳市| 丹东市| 鄂伦春自治旗| 铜鼓县| 江陵县| 灌南县|