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 相关文章推荐
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
Jan 29 Javascript
javascript中AJAX用法实例分析
Jan 30 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
Jan 27 Javascript
详解javascript跨浏览器事件处理程序
Mar 27 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
May 30 Javascript
js获取元素下的第一级子元素的方法(推荐)
Mar 05 Javascript
详解Vue 事件驱动和依赖追踪
Apr 22 Javascript
Javascript中八种遍历方法的执行速度深度对比
Apr 25 Javascript
详解JavaScript调用栈、尾递归和手动优化
Jun 03 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 Javascript
详解webpack运行Babel教程
Jun 13 Javascript
吃通javascript正则表达式
Apr 21 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截取中文字符串的问题
2006/07/12 PHP
PHP中路径问题的解决方案
2006/10/09 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
获取URL文件名后缀
2013/10/24 PHP
php实现的简单日志写入函数
2015/03/31 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
php中session定期自动清理的方法
2015/11/12 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
javascript基本语法分析说明
2008/06/15 Javascript
JQuery 风格的HTML文本转义
2009/07/01 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
python二叉树的实现实例
2013/11/21 Python
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
Python找出最小的K个数实例代码
2018/01/04 Python
Python continue继续循环用法总结
2018/06/10 Python
flask中的wtforms使用方法
2018/07/21 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
人力资源管理专业求职信
2014/07/23 职场文书
学校师德师风整改方案
2014/10/28 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers