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 相关文章推荐
怎么用javascript进行拖拽
Jul 20 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
Nov 25 Javascript
node.js中的fs.existsSync方法使用说明
Dec 17 Javascript
javascript结合fileReader 实现上传图片
Jan 30 Javascript
vuex实现简易计数器
Oct 27 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
Dec 30 Javascript
原生javascript移动端滑动banner效果
Mar 10 Javascript
浅析vue给不同环境配置不同打包命令
Aug 17 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
Sep 26 Javascript
js实现烟花特效
Mar 02 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
Apr 08 Javascript
Vue使用v-viewer实现图片预览
Oct 21 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
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
PHP 防注入函数(格式化数据)
2011/08/08 PHP
php的大小写敏感问题整理
2011/12/29 PHP
使用ltrace工具跟踪PHP库函数调用的方法
2016/04/25 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
form中限制文本字节数js代码
2007/06/10 Javascript
window.open被浏览器拦截后的自定义提示效果代码
2007/11/19 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
Angular将填入表单的数据渲染到表格的方法
2017/09/22 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
使用element-ui table expand展开行实现手风琴效果
2019/03/15 Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
HTML5+CSS3应用详解
2014/02/24 HTML / CSS
实习推荐信
2014/05/10 职场文书
小学六一主持词开场白
2015/05/28 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python