• asp,net 实现treeview 选种父节点其子节点也选种


    懒人,我给你发一个源码:

    在 Page_Load(object sender, EventArgs e) 里面加入: TreeView1.Attributes.Add("onclick", "CheckEvent(event)");//TreeView1是你树控件的名称。下面的 javascript 放到 <head></head> 之间

     

    <script type="text/javascript">
    function CheckEvent(evt)
    {
    evt=window.event||evt;
    var objNode = evt.srcElement||evt.target;
    if(objNode.tagName == "INPUT" && objNode.type== "checkbox")
    {
    var objParentDiv = objNode.id.replace("CheckBox","Nodes");
    if(objNode.checked==true)
    {
    setChildCheckState(objParentDiv,true);

    setParentCheckeState(objNode,true);
    }
    else
    {
    setChildCheckState(objParentDiv,false);

    if(!HasOtherChecked(objNode)){
    setParentCheckeState(objNode,false);
    }
    }
    }
    }

    //判断是否有并行的其他节点被选中
    function HasOtherChecked(objNode)
    {
    var objParentDiv = WebForm_GetParentByTagName(objNode, "div");

    var chks = objParentDiv.getElementsByTagName("INPUT");
    for(var i=0;i<chks.length;i++){
    if(chks[i].checked && chks[i].id != objNode.id)
    {
    return true;
    }
    }
    return false;
    }

    //设置父节点
    function setParentCheckeState(objNode,chkstate)
    {
    try{
    var objParentDiv = WebForm_GetParentByTagName(objNode, "div");

    if(objParentDiv == null || objParentDiv == "undefined "){
    return;
    }
    else{
    var objParentChkId = objParentDiv.id.replace("Nodes","CheckBox");
    var objParentCheckBox = document.getElementById(objParentChkId);

    if(objParentCheckBox){
    objParentCheckBox.checked = chkstate;
    setParentCheckeState(objParentDiv,chkstate);
    }
    }
    }
    catch(e){}
    }

    //设置子节点
    function setChildCheckState(nodeid,chkstate)
    {
    var node = document.getElementById(nodeid);

    if(node){
    var chks = node.getElementsByTagName("INPUT");
    for(var i=0;i<chks.length;i++){
    chks[i].checked = chkstate;
    }
    }
    }
    </script>

  • 相关阅读:
    VIM移动
    坏账,断供,四大国有资产管理公司(AMC):东方、长城、信达和华融
    2016MBA排名
    禅道行任务分解
    oracle教程:PLSQL常用方法汇总
    国内手机号码段,卫星电话号段
    Java异常处理和设计
    购买使用Linode VPS必须知晓的十个问题
    从配置文件中删除节点
    remove namespace from xml config file
  • 原文地址:https://www.cnblogs.com/agen/p/2038058.html
Copyright © 2020-2023  润新知