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 相关文章推荐
js类的静态属性和实例属性的理解
Oct 01 Javascript
JavaScript获取页面上被选中文字的方法技巧
Mar 13 Javascript
angularjs学习笔记之完整的项目结构
Sep 26 Javascript
Bootstrap 模态框(Modal)带参数传值实例
Aug 20 Javascript
vue数字类型过滤器的示例代码
Sep 07 Javascript
vue slot 在子组件中显示父组件传递的模板
Mar 02 Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 Javascript
4 种滚动吸顶实现方式的比较
Apr 09 Javascript
微信小程序实现订单倒计时
Nov 01 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
Oct 20 Javascript
electron 安装,调试,打包的具体使用
Nov 06 Javascript
javascript实现电商放大镜效果
Nov 23 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
多人战的战术与战略
2020/03/04 星际争霸
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
php输出xml必须header的解决方法
2014/10/17 PHP
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
JS常见算法详解
2017/02/28 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
Python贪心算法实例小结
2018/04/22 Python
python使用KNN算法识别手写数字
2019/04/25 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
高校学生干部的自我评价分享
2013/11/04 职场文书
自我查摆剖析材料
2014/10/11 职场文书
格林童话读书笔记
2015/06/30 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书
java代码实现空间切割
2022/01/18 Java/Android
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL