TreeView控件结合js树形选择

 在一些系统管理,分配权限时可能经常需求构建树形菜单,然后选择部分功能点授权给用户

 用下面的javascript脚本结合.net自带的树形控件,很方便的实现了多级选择。

    <script language="javascript">
  
  function window_onload()
  {
    document.all("treeMenu").attachEvent("oncheck",tree_oncheck);
    
  }
  
  //当树上的checkBox被选中时触发
  function tree_oncheck()
  {
   //得到当前选中的node
   var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex);
   document.all("TreeIndex").value = node.getAttribute("ID");
   //得到点击得节点checked的状态
   var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked");
   //alert(Pchecked);
   //设置所有子节点的状态(全部选中或全部不选中)
   setcheck(node,Pchecked);
   //点击子,所有的根选中
   setParentCheck(node);
   //设置传给服务器端的值
  // getNodeCheckValue(tree);
  }
  //点击子,所有的根选中
  function setParentCheck(node)
  {
   var tempNode;
    //得到父节点
   tempNode=node.getParent();
   if(tempNode!=null)
   {
    //选中
    tempNode.setAttribute("Checked","true");
    //递归
    setParentCheck(tempNode);
   }
  }

  //设置子节点选中
  function setcheck(node,Pc)
  {
   var i;
   var ChildNode=new Array();
   ChildNode=node.getChildren();
   if(parseInt(ChildNode.length)==0)
   {
    return;
   }
   else
   {
    for(i=0;i<ChildNode.length;i++)
    {
     var cNode;
     cNode=ChildNode[i];
     cNode.setAttribute("Checked",Pc);
     if(parseInt(cNode.getChildren().length)!=0)
     {
      setcheck(cNode,Pc);
     }
     
    }
   }
  } <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i </script> <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i </script> <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i </script> <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i </script> <script language=javascript> function window_onload() { document.all("treeMenu").attachEvent("oncheck",tree_oncheck); } //当树上的checkBox被选中时触发 function tree_oncheck() { //得到当前选中的node var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex); document.all("TreeIndex").value = node.getAttribute("ID"); //得到点击得节点checked的状态 var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked"); //alert(Pchecked); //设置所有子节点的状态(全部选中或全部不选中) setcheck(node,Pchecked); //点击子,所有的根选中 setParentCheck(node); //设置传给服务器端的值 // getNodeCheckValue(tree); } //点击子,所有的根选中 function setParentCheck(node) { var tempNode; //得到父节点 tempNode=node.getParent(); if(tempNode!=null) { //选中 tempNode.setAttribute("Checked","true"); //递归 setParentCheck(tempNode); } } //设置子节点选中 function setcheck(node,Pc) { var i; var ChildNode=new Array(); ChildNode=node.getChildren(); if(parseInt(ChildNode.length)==0) { return; } else { for(i=0;i </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值