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 相关文章推荐
一段实时更新的时间代码
Jul 07 Javascript
Javascript中Eval函数的使用说明
Oct 11 Javascript
javascript 判断整数方法分享
Dec 16 Javascript
Bootstrap表单布局
Jul 19 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
Jul 27 Javascript
AngularJS 工作原理详解
Aug 18 Javascript
详解Javascript中的原型OOP
Oct 12 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
Mar 08 Javascript
vue页面使用阿里oss上传功能的实例(二)
Aug 09 Javascript
JS高阶函数原理与用法实例分析
Jan 15 Javascript
使用Vue CLI创建typescript项目的方法
Aug 09 Javascript
js实现上传图片并显示图片名称
Dec 18 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
Zend studio文件注释模板设置方法
2013/09/29 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
Python中单、双下划线的区别总结
2017/12/01 Python
python实现xlsx文件分析详解
2018/01/02 Python
用pycharm开发django项目示例代码
2019/06/13 Python
python plotly画柱状图代码实例
2019/12/13 Python
python的slice notation的特殊用法详解
2019/12/27 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
幼儿园教师岗位职责
2014/03/17 职场文书
讲解员培训方案
2014/05/04 职场文书
个人主要事迹材料
2014/08/26 职场文书
乡镇创先争优活动总结
2014/08/28 职场文书
学习十八大的心得体会
2014/09/01 职场文书
建议书范文
2015/02/05 职场文书
酒会开场白大全
2015/06/01 职场文书
班级班风口号大全
2015/12/25 职场文书