Javascript 实现TreeView CheckBox全选效果


Posted in Javascript onJanuary 11, 2010
function OnTreeNodeChecked() { 
var ele = event.srcElement; 
if (ele.type == 'checkbox') { 
var childrenDivID = ele.id.replace('CheckBox', 'Nodes'); 
var div = document.getElementById(childrenDivID); 
if (div != null) { 
var checkBoxs = div.getElementsByTagName('INPUT'); 
for (var i = 0; i < checkBoxs.length; i++) { 
if (checkBoxs[i].type == 'checkbox') 
checkBoxs[i].checked = ele.checked; 
} 
} 
OnTreeNodeChildChecked(ele); } 
} 
function OnTreeNodeChildChecked(ele) { 
//自动处理上级 
var parentDiv = ele.parentElement.parentElement.parentElement.parentElement.parentElement; 
var parentChkBox = document.getElementById(parentDiv.id.replace('Nodes', 'CheckBox')); 
if (parentChkBox != null) { 
var ChildsChkAll = true; 
var Boxs = parentDiv.getElementsByTagName('INPUT'); 
for (var i = 0; i < Boxs.length; i++) { 
if (Boxs[i].type == 'checkbox' && Boxs[i].checked == false) { 
ChildsChkAll = false; 
} 
} 
parentChkBox.checked = ChildsChkAll; 
OnTreeNodeChildChecked(parentChkBox); 
} 
}

CS文件中注册JavaScript:

void Page_Load(object sender,EventArgs e) 
{ 
this.TreeView.Attribute.Add("onclick","OnTreeNodeChecked()"); 
}
Javascript 相关文章推荐
FF IE兼容性的修改小结
Sep 02 Javascript
javascript中onclick(this)用法介绍
Apr 19 Javascript
javascript中setTimeout的问题解决方法
May 08 Javascript
详解js闭包
Sep 02 Javascript
Javascript中call和apply函数的比较和使用实例
Feb 03 Javascript
JavaScript性能优化总结之加载与执行
Aug 11 Javascript
Bootstrap框架的学习教程详解(二)
Oct 18 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
Feb 27 Javascript
原生js实现选项卡功能
Mar 08 Javascript
Javascript实现秒表计时游戏
May 27 Javascript
Vue之封装公用变量以及实现方式
Jul 31 Javascript
关于JavaScript 中 if包含逗号表达式
Nov 27 Javascript
javascript下判断一个对象是否具有指定名称的属性的的代码
Jan 11 #Javascript
JavaScript 学习笔记(九)call和apply方法
Jan 11 #Javascript
取选中的radio的值
Jan 11 #Javascript
javascript Object与Function使用
Jan 11 #Javascript
Extjs学习笔记之九 数据模型(上)
Jan 11 #Javascript
JavaScript 事件冒泡简介及应用
Jan 11 #Javascript
Javascript 读书笔记索引贴
Jan 11 #Javascript
You might like
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
PHP学习记录之数组函数
2018/06/01 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
dojo 之基础篇
2007/03/24 Javascript
event.srcElement 用法笔记e.target
2009/12/18 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
VSCode配置react开发环境的步骤
2017/12/27 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
python队列通信:rabbitMQ的使用(实例讲解)
2017/12/22 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
下载官网python并安装的步骤详解
2019/10/12 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
应届大学生自荐信格式
2013/09/21 职场文书
中层竞聘演讲稿
2014/01/09 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
市场开发计划书
2014/05/07 职场文书
校园环保建议书
2014/05/14 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
共青团员自我评价
2015/03/10 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技