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 相关文章推荐
不错的asp中显示新闻的功能
Oct 13 Javascript
js事件冒泡实例分享(已测试)
Apr 23 Javascript
JQuery中SetTimeOut传参问题探讨
May 10 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
Aug 30 Javascript
jQuery制作简单柱状图实例
Jan 28 Javascript
jQuery实现弹出窗口中切换登录与注册表单
Jun 05 Javascript
Bootstrap所支持的表单控件实例详解
May 16 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
详解新手使用vue-router传参时注意事项
Jun 06 Javascript
Vue项目打包压缩的实现(让页面更快响应)
Mar 10 Javascript
Element Backtop回到顶部的具体使用
Jul 27 Javascript
详细分析JavaScript中的深浅拷贝
Sep 17 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
坏狼的PHP学习教程之第2天
2008/06/15 PHP
php 多线程上下文中安全写文件实现代码
2009/12/28 PHP
php实现的简单日志写入函数
2015/03/31 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
js 金额格式化来回转换示例
2014/02/23 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
简单实现jQuery弹窗效果
2017/10/30 jQuery
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
python读取视频流提取视频帧的两种方法
2020/10/22 Python
python 字典中取值的两种方法小结
2018/08/02 Python
Python socket模块实现的udp通信功能示例
2019/04/10 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
python实现简单坦克大战
2020/03/27 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
关于VPN
2012/06/10 面试题
电子商务专业自我鉴定
2013/12/18 职场文书
教导处工作制度
2014/01/18 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
会计岗位说明书
2014/07/29 职场文书
2014年工会工作总结
2014/11/12 职场文书
公司更名通知函
2015/04/24 职场文书
民事答辩状范本
2015/05/21 职场文书
雨中的树观后感
2015/06/03 职场文书
投诉书范文
2015/07/02 职场文书
68句权威创业名言
2019/08/26 职场文书
数据库连接池
2021/04/06 MySQL