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 相关文章推荐
刷新页面实现方式总结(HTML,ASP,JS)
Nov 13 Javascript
js constructor的实际作用分析
Nov 15 Javascript
Prototype源码浅析 String部分(二)
Jan 16 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
分享Javascript实用方法二
Dec 13 Javascript
javascript显示系统当前时间代码
Dec 29 Javascript
微信小程序 MD5加密登录密码详解及实例代码
Jan 12 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 jQuery
vue.js中ref及$refs的使用方法解析
Oct 08 Javascript
vue v-for直接循环数字实例
Nov 07 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
Jul 19 Javascript
Vue自定义铃声提示音组件的实现
Jan 22 Vue.js
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
php获取服务器信息的实现代码
2013/02/04 PHP
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
2018/09/26 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
ie focus bug 解决方法
2009/09/03 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
python字典get()方法用法分析
2015/04/17 Python
Python通过len函数返回对象长度
2020/10/22 Python
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
违反学校规定检讨书
2014/01/18 职场文书
寒假家长评语大全
2014/04/16 职场文书
孩子教育的心得体会
2014/09/01 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
自荐信大全
2019/03/21 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
pytorch 实现多个Dataloader同时训练
2021/05/29 Python
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫
python3 字符串str和bytes相互转换
2022/03/23 Python
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers