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 相关文章推荐
javascript应用:Iframe自适应其加载的内容高度
Apr 10 Javascript
jquery uaMatch源代码
Feb 14 Javascript
关于JavaScript中name的意义冲突示例介绍
May 29 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
Aug 06 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
Dec 08 Javascript
详解jQuery Mobile自定义标签
Jan 06 Javascript
使用angularjs创建简单表格
Jan 21 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
Apr 12 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
Jun 28 jQuery
bootstrap switch开关组件使用方法详解
Aug 22 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
详解VUE Element-UI多级菜单动态渲染的组件
Apr 25 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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
php无限级分类实现方法分析
2016/10/19 PHP
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
JavaScript实现购物车基本功能
2017/07/21 Javascript
详解vue表单——小白速看
2018/04/08 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
python实现图片彩色转化为素描
2019/01/15 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
python pip如何手动安装二进制包
2020/09/30 Python
Django多数据库联用实现方法解析
2020/11/12 Python
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
妇产医师自荐信
2014/01/29 职场文书
起诉书格式范文
2015/05/20 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
52条SQL语句教你性能优化
2021/05/25 MySQL
JS实现简单九宫格抽奖
2022/06/28 Javascript