zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    解释一下,@SpringBootApplication
    mybatis的一堆多映射使用配置
    SSM基础pom和xml的整合配置
    获取form表单所有数据最快方式
    两个大神的配置
    springmvc 注解详解
    自适应组件导航栏
    文本相似度的衡量之余弦相似度
    Pandas系列(十四)- 实战案例
    selenium常用操作
  • 原文地址:https://www.cnblogs.com/agen/p/2038058.html
Copyright © 2011-2022 走看看