最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2006年09月28日 00:00:00   作者:  

  這里使用asp.net2.0的TreeView控件結(jié)合JavaScript實(shí)現(xiàn)權(quán)限樹的部分功能。
  假設(shè)權(quán)限樹中有如下三條規(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()");

 

相關(guān)文章

最新評(píng)論

泊头市| 阿克苏市| 报价| 丹阳市| 鄂伦春自治旗| 延川县| 安乡县| 盐津县| 来安县| 怀集县| 乌拉特后旗| 库尔勒市| 垣曲县| 抚远县| 长顺县| 大城县| 平昌县| 汤阴县| 鸡东县| 苏尼特左旗| 常山县| 舒兰市| 句容市| 山西省| 广南县| 桑日县| 电白县| 米易县| 尚义县| 肥西县| 祥云县| 封丘县| 会泽县| 福安市| 宽城| 新竹市| 都昌县| 张掖市| 普宁市| 海淀区| 邵东县|