JS控件ASP.NET的treeview控件全选或者取消(示例代码)


Posted in Javascript onDecember 16, 2013
<script language="javascript">   
/*   
函数名称:CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)   
函数功能:实现带checkbox的treeview中   
1、选中父结点其子结点也全部选中   
2、取消全部子结点的选择后,父结点的选择也随之取消   
使用方法:
1、在<head></head>中间添加CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)   
2、在*.aspx.cs的Page_load()事件中添加yourTreeView.Attribute.Add("OnCheck","CheckNode(yourTreeView.getTreeNode(yourTreeView.clickedNodeIndex))")   
  */   
  //递归遍历所有子节点   
  function   CheckNode(currentNode)   
  {   
  var   childNode=new   Array();   
  var   parentNodeChild=new   Array();   
  var   isChecked;   
  childNode=currentNode.getChildren();   
  if(currentNode.getAttribute('checked'))   
  {   
  isChecked=true;   
  }   
  else   
  {   
  isChecked=false;   
  }   
  //父节点处理   
  if(currentNode.getParent()!=null)   
  {   
  //选中处理   
  if(currentNode.getAttribute('Checked'))   
  {   
  ParentNode(currentNode);   
  }   
  else   
  //取消选中   
  {   
  ChildNode(currentNode);   
  }   
  }   
  else   
  {   
  //什么也不做   
  }   
  //子节点处理   
  if(childNode.length>0)   
  {   
  for(var   i=0;i<childNode.length;i++)   
  {   
  childNode.setAttribute("Checked",isChecked);   
  if(childNode.getChildren().length>0)   
  {   
  CheckNode(childNode);   
  }   
  }   
  }   
  }   
  //递归选中父节点   
  function   ParentNode(currentNode)   
  {   
  if(currentNode.getParent()!=null)   
  {   
  currentNode.getParent().setAttribute('Checked',true);   
  //递归调用ParentNode(currentNode)以遍历更上一层的父节点   
  ParentNode(currentNode.getParent());   
  }   
  }   
  //递归取消选中父节点   
  function   ChildNode(currentNode)   
  {   
  if(currentNode.getParent()!=null)   
  {   
  var   checkedCount=0;   
  var   childNode=currentNode.getParent().getChildren();   
  for   (var   i=0;i<childNode.length;i++)   
  {   
  if(childNode.getAttribute('Checked'))   
  {   
  checkedCount++;   
  }   
  }   
  if(checkedCount==0)   
  {   
  currentNode.getParent().setAttribute('Checked',false);   
  }   
  //递归调用ChildNode(currentNode)以遍历更上一层的父节点   
  ChildNode(currentNode.getParent());   
  }   
  }   
</script>

js递归遍历treeview中某节点的所有子节点的问题
 var   AllRootNode=new   Array();   
    AllRootNode=TreeView1.getChildren();   
    AlertNode(AllRootNode);             function   AlertNode(NodeArray)   
    {   
      if(parseInt(NodeArray.length)==0)   
        return;   
      else   
      {   
        for(i=0;i<NodeArray.length;i++)   
        {   
          var   cNode;   
          cNode=NodeArray;   
          alert(cNode.getAttribute("Text"));   
          if(parseInt(cNode.getChildren().length)!=0)   
            AlertNode(cNode.getChildren());           
        }   
      }   
    } 
Javascript 相关文章推荐
Jquery 表格合并的问题分享
Sep 17 Javascript
选择复选框按钮置灰否则按钮可用
May 22 Javascript
JavaScript数组对象赋值用法实例
Aug 04 Javascript
jquery中val()方法是从最后一个选项往前读取的
Sep 06 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
jQuery中DOM节点的删除方法总结(超全面)
Jan 22 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
Dec 21 Javascript
重学JS 系列:聊聊继承(推荐)
Apr 11 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
scrapyd schedule.json setting 传入多个值问题
Aug 07 Javascript
js+canvas实现纸牌游戏
Mar 16 Javascript
javascript 内存模型实例详解
Apr 18 Javascript
JS冒泡事件的快速解决方法
Dec 16 #Javascript
JS批量操作CSS属性详细解析
Dec 16 #Javascript
js鼠标及对象坐标控制属性详细解析
Dec 14 #Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
Dec 14 #Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 #Javascript
js获取url中指定参数值的示例代码
Dec 14 #Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
Dec 14 #Javascript
You might like
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
浅析php单例模式
2014/11/25 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
JS实现标签滚动切换效果
2017/12/25 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
python写的ARP攻击代码实例
2014/06/04 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
Python读写压缩文件的方法
2020/07/30 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
东方红海科技面试题软件测试方面
2012/02/08 面试题
专科应届生求职信
2013/11/24 职场文书
大专生自荐书范文
2014/06/22 职场文书
药店促销活动总结
2014/07/10 职场文书
报名委托书
2015/01/29 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
中秋节祝酒词
2015/08/12 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS