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的Cookies
Jan 16 Javascript
JS完成代码前最好对其做5件事
Apr 07 Javascript
JS日期和时间选择控件升级版(自写)
Aug 02 Javascript
Jquery实现遮罩层的方法
Jun 08 Javascript
JavaScript 常见安全漏洞和自动化检测技术
Aug 21 Javascript
Angular 4.x 路由快速入门学习
May 03 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
Jan 31 Javascript
微信小程序实现YDUI的ScrollNav组件
Feb 02 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
May 04 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 Javascript
Vue中多元素过渡特效的解决方案
Feb 05 Javascript
react中hook介绍以及使用教程
Dec 11 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中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
js实现鼠标点击飘爱心效果
2020/08/19 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
Python获取系统默认字符编码的方法
2015/06/04 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
css3的transition属性详解
2014/12/15 HTML / CSS
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
团组织关系介绍信
2014/01/12 职场文书
信访工作者先进事迹
2014/01/17 职场文书
调查研究项目计划书
2014/04/29 职场文书
干部考察材料范文
2014/12/24 职场文书
仓管员岗位职责
2015/02/03 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis