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 相关文章推荐
国外大牛IE版本检测!现在IE都到9了,IE检测代码
Jan 04 Javascript
读取input:file的路径并显示本地图片的方法
Sep 23 Javascript
js面向对象编程之如何实现方法重载
Jul 02 Javascript
node.js适合游戏后台开发吗?
Sep 03 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
Feb 19 Javascript
完全深入学习Bootstrap表单
Nov 28 Javascript
javascript算法之二叉搜索树的示例代码
Sep 12 Javascript
JS实现基于拖拽改变物体大小的方法
Jan 23 Javascript
vue下使用nginx刷新页面404的问题解决
Aug 02 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
Sep 13 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
Nov 06 Javascript
原生js实现贪食蛇小游戏的思路详解
Nov 26 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备份/还原MySQL数据库的代码
2011/01/06 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
js异或加解密效果代码
2008/06/25 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
python中使用PIL制作并验证图片验证码
2018/03/15 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
python实现的config文件读写功能示例
2019/09/24 Python
详解Pycharm与anaconda安装配置指南
2020/08/25 Python
Django跨域请求原理及实现代码
2020/11/14 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
请说出以下代码输出什么
2013/08/30 面试题
大学自主招生自荐信
2013/12/16 职场文书
元旦晚会邀请函
2014/01/27 职场文书
烹调加工管理制度
2014/02/04 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
2014高三学生考试作弊检讨书
2014/12/14 职场文书
初中政治教师教学反思
2016/02/23 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书
Python中的pprint模块
2021/11/27 Python
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js