js实现权限树的添加权限时的全选全消功能
2009-02-17 15:35
459 查看
08年中旬在公司做一个OA系统的“权限管理”模块,做到权限的选择设定功能时,VS框架里的TreeView控件明显没法自己实现全选全消,在网上找了不少有关的JS源码,都不太好用,功能不全,于是,就自己仿造着写了一个JS,在这里发出来给大家共享。
// 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); }
相关文章推荐
- js实现权限树的更新权限时的全选全消功能
- js实现权限树的更新权限时的全选全消功能
- 在dataGridView中添加复选款实现全选的功能
- js 实现全选或全不选的功能
- js实现checkbox全选功能
- 利用JS实现全选相关功能
- js实现全选和反选功能
- JS:&quot;全选&quot;功能实现(checkbox)
- js实现全选、反选功能(批量删除)
- [转]Js实现Repeater全选/反选 功能 终极解决方案
- JS实现为动态添加的元素增加事件功能示例【基于事件委托】
- js的 dhtmlXTreeObject 实现角色功能的添加
- js实现全选功能
- JS小功能(操作Table--动态添加删除表格及数据)实现代码
- js实现表格全选功能
- JS实现CheckBox复选框全选、不选或全不选功能
- JS实现的全选/全不选功能按钮
- js javascript 实现复选框全选功能 删除复选框选中项功能
- 原生JS实现购物车的添加删除,以及总价计算的功能