js实现treeview 级联修改状态
2019独角兽企业重金招聘Python工程师标准>>>
<script type="text/javascript">
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;
}
var div = GetParentByTagName(ele, 'DIV');
var checkBoxs = div.getElementsByTagName('INPUT');
var parentCheckBoxID = div.id.replace('Nodes', 'CheckBox');
var parentCheckBox = document.getElementById(parentCheckBoxID);
for (var i = 0; i < checkBoxs.length; i++) {
if (checkBoxs[i].type == 'checkbox' && checkBoxs[i].checked) {
parentCheckBox.checked = true;
return;
}
}
parentCheckBox.checked = false;
}
else {
var div = GetParentByTagName(ele, 'DIV');
var checkBoxs = div.getElementsByTagName('INPUT');
var parentCheckBoxID = div.id.replace('Nodes', 'CheckBox');
var parentCheckBox = document.getElementById(parentCheckBoxID);
var basediv = GetParentByTagName(parentCheckBox, 'DIV');
var parentCBKs = basediv.getElementsByTagName('INPUT');
var baseCheckBoxID = basediv.id.replace('Nodes', 'CheckBox');
var baseCheckBox = document.getElementById(baseCheckBoxID);
for (var i = 0; i < checkBoxs.length; i++) {
if (checkBoxs[i].type == 'checkbox' && checkBoxs[i].checked) {
parentCheckBox.checked = true;
for (var j = 0; j < parentCBKs.length; j++) {
if (parentCBKs[j].type == 'checkbox' && parentCBKs[j].checked) {
baseCheckBox.checked = true;
}
}
return;
}
}
parentCheckBox.checked = false;
var checkedcount = 0;
for (var j = 0; j < parentCBKs.length; j++) {
if (parentCBKs[j].type == 'checkbox' && parentCBKs[j].checked) {
checkedcount++;
}
}
if (checkedcount == 0) {
baseCheckBox.checked = false;
}
}
}
}
function GetParentByTagName(element, tagName) {
var parent = element.parentNode;
var upperTagName = tagName.toUpperCase();
while (parent && (parent.tagName.toUpperCase() != upperTagName)) {
parent = parent.parentNode ? parent.parentNode : parent.parentElement;
}
return parent;
}
</script>
------------------------------------cs
tv_rights.Attributes.Add("onclick", "OnTreeNodeChecked()");
就OK啦
转载于:https://my.oschina.net/kaiyuandewo/blog/16469
js实现treeview 级联修改状态相关推荐
- html双击变成可编辑状态,JS实现双击编辑可修改状态的方法
本文实例讲述了JS实现双击编辑可修改状态的方法.分享给大家供大家参考.具体如下: 这是现在流行的一个表单特效,在网页上单击某文字,文字变为编辑状态,或者是让输入新文字,这就是JavaScript控制表 ...
- Vuex-一个专为 Vue.js 应用程序开发的状态管理模式
为什么会出现Vuex 非父子关系的组件如何进行通信?(Event Bus) bus.js import Vue from 'vue'; export default new Vue(); foo.vu ...
- 在ReactJS中正确修改状态数组
本文翻译自:Correct modification of state arrays in ReactJS I want to add an element to the end of a state ...
- 关于级联删除和级联修改
曾经因为级联删除的问题浪费了N多时间,顾此在这里写下小小心得,供大家借鉴. 在数据库分别建立表t_food(菜单)和表t_book(订单),如下所示: t_food: ---------------- ...
- php 修改input内容,JS简单获取并修改input文本框内容的方法示例
这篇文章主要介绍了JS简单获取并修改input文本框内容的方法,结合实例形式分析了JavaScript针对页面元素的获取.赋值等相关操作技巧,需要的朋友可以参考下 本文实例讲述了JS简单获取并修改in ...
- vmware“增强型虚拟键盘”键呈灰色不能修改状态
背景信息: 版 本:VMware-workstation-full-11.0.0-2305329.1418091545.exe 虚拟机:Ubuntu 64位 系统(ubuntu-16.04-deskt ...
- js下载文件并修改文件名 / js判断文件后缀
js下载文件并修改文件名 / js判断文件后缀 代码如下(示例): //handlerName:文件名 filePath:下载路径downloadFile (handlerName, filePath ...
- 如何设置textarea文本框中的内容为只读不可修改状态
设置<textarea>文本框中的内容为只读不可修改状态,只需要加入disabled或readonly即可 <textarea name="qualification&qu ...
- js 页面跳转保存状态
为什么80%的码农都做不了架构师?>>> 很多时候需要使用js 实现页面跳转之后记住当前的状态 <div class="fy_l_list">& ...
最新文章
- 【LaTeX】E喵的LaTeX新手入门教程(6)中文
- 如何解决IIS7上传文件大小限制【转】
- 一步步学习微软InfoPath2010和SP2010--第十三章节--SharePoint视图和仪表板(4)--基于视图的通知...
- [转] 以 async/await 为例,说明 babel 插件怎么搭
- 华为C8825D刷机失败解决方法
- 苹果隐私部门负责人:在iPhone上侧载应用会减少用户选择
- 银辉给园子里的兄弟姐妹们拜年啦
- Linux 安装Nginx详细图解教程
- 57. mysqli 扩展库(4)
- from .import xxx什么意思
- Hadoop集群配置(二)免密登录和集群配置
- 番茄花园GHOST SP3无法安装IIS 信息服务的解决方法
- 细数历史上那些有名的程序媛
- 江苏工匠杯easyphp
- linux授权文件夹777,服务器上如何修改文件夹777权限
- 鸿洋,郭霖Android开发大牛:从入门到精通系列学习路线以及进阶Android高级工程师书籍介绍
- ROS--Kinetic--执行roslaunch时遇到的问题和解决办法
- 关闭oracle job定时任务,oracle job 定时任务,定时执行
- 地铁3D可视化,让一切尽在掌握
- Dcat-Admin自定义Excel数据导出
热门文章
- Node的textContent属性
- java实验常见错误_java 实验4 异常
- python拆分合并文件_python实现文件的分割与合并
- c++ windows forms 使用_从头开始了解和使用Hypervisor(第1部分)
- 小度智能音箱维修点_小度智能音箱——联通智慧生活语音服务入口
- linux path原理,面试题:Linux中的环境变量PATH
- clickhouse的kafka表引擎 +接口表
- SBUS2,一个增强型的SBUS协议,可实现双向通讯功能。SBUS2和SBUS区别到底在哪呢?
- [转]VB中资源文件.res的使用方法详解
- vb以类名或窗口标题查找句柄并关闭