js实现权限树的更新权限时的全选全消功能


Posted in Javascript onFebruary 17, 2009
// JScript 文件 
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; 
} 
function setParentChecked(objNode) 
{ 
var objParentDiv = getParentByTagName(objNode,"div"); 
if(objParentDiv == null || objParentDiv == "undefined") 
return; 
var objID = objParentDiv.getAttribute("ID"); 
var objParentCheckBox = document.getElementById(objID.replace("Nodes","CheckBox")); 
if(objParentCheckBox == null || objParentCheckBox == "undefined") 
return; 
if(objParentCheckBox.tagName!="INPUT" && objParentCheckBox.type == "checkbox") 
return; 
//add 
// if (objNode.checked=false) objPraentCheckBox.checked=false; 
// objParentCheckBox.checked = true; 
setParentChecked(objParentCheckBox); 
} 
function setParentUnChecked(objNode) 
{ 
var objParentDiv = getParentByTagName(objNode,"div"); 
if(objParentDiv == null || objParentDiv == "undefined") 
return; 
var objID = objParentDiv.getAttribute("ID"); 
var objParentCheckBox = document.getElementById(objID.replace("Nodes","CheckBox")); 
if(objParentCheckBox == null || objParentCheckBox == "undefined") 
return; 
if(objParentCheckBox.tagName!="INPUT" && objParentCheckBox.type == "checkbox") 
return; 
//add 
// if (objNode.checked=false) objPraentCheckBox.checked=false; 
objParentCheckBox.checked = false; 
setParentUnChecked(objParentCheckBox); 
} 
function setChildCheckedState(div,state) 
{ 
var objchild = div.childNodes; 
var count = objchild.length; 
for(var i=0;i<objchild.length;i++) 
{ 
var tempObj = objchild[i]; 
if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox") 
{ 
tempObj.checked = state; 
} 
// debugger; 
setChildCheckedState(tempObj,state); 
} 
} 
function TreeNodeChecked() 
{ 
var objNode = window.event.srcElement; 
if(objNode.tagName!="INPUT" || objNode.type!="checkbox") 
return; 
// debugger; 
if(objNode.checked == true) 
{ 
setParentChecked(objNode); 
} 
else 
{ 
setParentUnChecked(objNode); 
} 
var objID = objNode.getAttribute("ID"); 
var objParentDiv = document.getElementById(objID.replace("CheckBox","Nodes")); 
if(objParentDiv==null || typeof(objParentDiv) == "undefined") 
return; 
setChildCheckedState(objParentDiv,objNode.checked); 
} 
function SetTreeNodeChecked(objNode1) 
{ 
var objNode =objNode1; 
var objID = objNode.getAttribute("ID"); 
var objParentDiv = document.getElementById(objID.replace("CheckBox","Nodes")); 
if(objParentDiv==null || typeof(objParentDiv) == "undefined") 
return; 
setChildCheckedState(objParentDiv,objNode.checked); 
} 
function GetYHQS(id) 
{ 
PageMethods.CallYHQX(id,callsuccessed); 
} 
function callsuccessed(result) 
{ 
// //循环页面 
//debugger; 
for (i=0;i<document.form1.length ;i++) 
{ 
var objNode=document.form1.elements[i]; 
if (objNode.tagName=="INPUT" && objNode.type=="checkbox") 
{ 
objNode.checked=false; 
} 
} 
for (i=0;i<document.form1.length ;i++) 
{ 
var objNode=document.form1.elements[i]; 
if (objNode.tagName=="INPUT" && objNode.type=="checkbox") 
{ 
//找到 
//比较 
if (result.indexOf(objNode.title)!=-1) 
{ 
objNode.checked=true; 
SetTreeNodeChecked(objNode); 
} 
} 
} 
} 
function test() 
{ 
debugger; 
//循环页面 
for (i=0;i<document.form1.length ;i++) 
{ 
var objNode=document.form1.elements[i]; 
if (objNode.tagName=="INPUT" && objNode.type=="checkbox") 
{ 
//找到 
//比较 
objNode.checked=true; 
} 
} 
}
Javascript 相关文章推荐
基于jquery实现的可以编辑选择的下拉框的代码
Nov 19 Javascript
JS正则中的RegExp对象对象
Nov 07 Javascript
JQuery实现的图文自动轮播效果插件
Jun 19 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
微信小程序 获取相册照片实例详解
Nov 16 Javascript
微信小程序 详解页面跳转与返回并回传数据
Feb 13 Javascript
使用Math.max,Math.min获取数组中的最值实例
Apr 25 Javascript
响应式框架Bootstrap栅格系统的实例
Dec 19 Javascript
vue动态路由配置及路由传参的方式
May 23 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
Aug 30 Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
May 01 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
Sep 12 Javascript
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
Feb 17 #Javascript
JSON扫盲帖 JSON.as类教程
Feb 16 #Javascript
动态为事件添加js代码示例
Feb 15 #Javascript
Ext JS Grid在IE6 下宽度的问题解决方法
Feb 15 #Javascript
javascript Ext JS 状态默认存储时间
Feb 15 #Javascript
Javascript 获取链接(url)参数的方法
Feb 15 #Javascript
JavaScript 获得选中文本内容的方法
Feb 15 #Javascript
You might like
php 生成唯一id的几种解决方法
2013/03/08 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
python实现日志按天分割
2019/07/22 Python
python超时重新请求解决方案
2019/10/21 Python
python Shapely使用指南详解
2020/02/18 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
抽象方法、抽象类怎样声明
2014/10/25 面试题
实习医生自我评价
2013/09/22 职场文书
网络工程系信息安全技术专业大学生求职信
2013/10/22 职场文书
环保倡议书100字
2014/05/15 职场文书
十佳少年事迹材料
2014/12/25 职场文书
创先争优承诺书
2015/01/20 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
归途列车观后感
2015/06/17 职场文书
公历12个月名称的由来
2022/04/12 杂记