调了 好几天的问题 treeview 的js 处理复选框之间的关系,选中子框父框自动选中,单独执行 没问题 放到框架页里 就有问题...
生活随笔
收集整理的這篇文章主要介紹了
调了 好几天的问题 treeview 的js 处理复选框之间的关系,选中子框父框自动选中,单独执行 没问题 放到框架页里 就有问题...
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
剛開始的js 這么寫的
function OnTreeNodeChecked() {var ele = event.srcElement;if (ele.type == 'checkbox') {var childrenDivID = ele.id.replace('CheckBox', 'Nodes');var div = document.getElementById(childrenDivID);if (div != null) {var checkBoxs = div.getElementsByTagName('INPUT');for (var i = 0; i < checkBoxs.length; i++) {if (checkBoxs[i].type == 'checkbox') {checkBoxs[i].checked = ele.checked;}}}OnTreeNodeChildChecked(ele);} } function OnTreeNodeChildChecked(ele) {//自動(dòng)處理上級 var parentDiv = ele.parentElement.parentElement.parentElement.parentElement.parentElement;var parentChkBox = document.getElementById(parentDiv.id.replace('Nodes', 'CheckBox'));if (parentChkBox != null) {var ChildsChkAll = true;var Boxs = parentDiv.getElementsByTagName('INPUT');var m = 0;var n = 0;for (var i = 0; i < Boxs.length; i++) {if (Boxs[i].type == 'checkbox') {m++;}if (Boxs[i].type == 'checkbox' && Boxs[i].checked == false) {n++}}if (m == n) {ChildsChkAll = false;}parentChkBox.checked = ChildsChkAll;OnTreeNodeChildChecked(parentChkBox);} }}然后 加了個(gè)catch 就完事了
function OnTreeNodeChecked() {var ele = event.srcElement;if (ele.type == 'checkbox') {var childrenDivID = ele.id.replace('CheckBox', 'Nodes');var div = document.getElementById(childrenDivID);if (div != null) {var checkBoxs = div.getElementsByTagName('INPUT');for (var i = 0; i < checkBoxs.length; i++) {if (checkBoxs[i].type == 'checkbox') {checkBoxs[i].checked = ele.checked;}}}OnTreeNodeChildChecked(ele);} } function OnTreeNodeChildChecked(ele) {//自動(dòng)處理上級 try{var parentDiv = ele.parentElement.parentElement.parentElement.parentElement.parentElement;var parentChkBox = document.getElementById(parentDiv.id.replace('Nodes', 'CheckBox'));if (parentChkBox != null) {var ChildsChkAll = true;var Boxs = parentDiv.getElementsByTagName('INPUT');var m = 0;var n = 0;for (var i = 0; i < Boxs.length; i++) {if (Boxs[i].type == 'checkbox') {m++;}if (Boxs[i].type == 'checkbox' && Boxs[i].checked == false) {n++}}if (m == n) {ChildsChkAll = false;}parentChkBox.checked = ChildsChkAll;OnTreeNodeChildChecked(parentChkBox);} }catch(e){} }?
?
轉(zhuǎn)載于:https://www.cnblogs.com/haihang/archive/2012/10/31/2748018.html
總結(jié)
以上是生活随笔為你收集整理的调了 好几天的问题 treeview 的js 处理复选框之间的关系,选中子框父框自动选中,单独执行 没问题 放到框架页里 就有问题...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何用代码对repeating sect
- 下一篇: 周三的工作 张孝祖