锁定老帖子 主题:CheckBox级联选择
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-25
最后修改:2009-07-25
<div > <div > <div id ="one"><input name = "" value ="oneChild" type="checkbox" onclick = "checkChild(this,'oneChild')">one</div> <div id = 'oneChild'> <ul> <li><div><input name = "" type="checkbox" onclick = "checkParent(this,'one')">one1 </div></li> <li><input name = "" type="checkbox" onclick = "checkParent(this,'one')">one2</li> <li><input name = "" type="checkbox" onclick = "checkParent(this,'one')">one3</li> <li><input name = "" type="checkbox" onclick = "checkParent(this,'one')">one4</li> </ul> </div> </div > <div > <div id ="two" ><input name = "" value ="twoChild" type="checkbox" onclick = "checkChild(this,'twoChild')">two</div> <div id ="twoChild"> <ul> <li><input name = "" type="checkbox" onclick = "checkParent(this,'two')">two1</li> <li><input name = "" type="checkbox" onclick = "checkParent(this,'two')">two2</li> <li><input name = "" type="checkbox" onclick = "checkParent(this,'two')">two3</li> <li><input name = "" type="checkbox" onclick = "checkParent(this,'two')">two4</li> </ul> </div> </div > <div > <div id ="three"><input name = "" value ="threeChild" type="checkbox" onclick = "checkChild(this,'threeChild')" >three</div> <div id="threeChild"> <ul> <li><input name = "" type="checkbox" onclick = "checkParent(this,'three')">three1</li> <li><input name = "" type="checkbox" onclick = "checkParent(this,'three')">three2</li> <li><input name = "" type="checkbox" onclick = "checkParent(this,'three')">three3</li> <li><input name = "" type="checkbox" onclick = "checkParent(this,'three')">three4</li> </ul> </div> </div > </div> <script language="javascript"> function checkChild(obj,childId){ var childs = document.getElementById(childId); var subChecks = childs.getElementsByTagName("input"); if(obj.checked){ for(var i = 0 ;i< subChecks.length;i++){ subChecks[i].checked=true; } }else{ for(var i = 0 ;i< subChecks.length;i++){ subChecks[i].checked = false; } } } function checkParent(obj,parentId){ var parent = document.getElementById(parentId); if(obj.checked){ parent.getElementsByTagName("input")[0].checked = true; }else{ var flag = false; var childs = parent.nextSibling; var subChecks = childs.getElementsByTagName("input"); for(var i =0 ;i<subChecks.length;i++){ var temp = subChecks[i]; if(temp.checked==true){ flag = true; } } if(flag){ parent.getElementsByTagName("input")[0].checked = true; }else{ parent.getElementsByTagName("input")[0].checked = false; } } } </script> 给你写个简单点儿的!参考一下,呵呵!!
|
|
返回顶楼 | |
发表时间:2009-07-28
写个JQUERY插件吧.实现起来不会这么苯重.
|
|
返回顶楼 | |
发表时间:2009-07-28
windywany 写道
写个JQUERY插件吧.实现起来不会这么苯重.
现在天天使用JQuery,都快忘了Dom的操作了。
所以就自己写了一个。
|
|
返回顶楼 | |
发表时间:2009-07-30
这个js通用吗?
|
|
返回顶楼 | |
发表时间:2009-08-06
一个checkbox应该要有3种状态:全选、半选、未选。通常安装程序里头的选择就是这个样子的啊。
要有半选功能,就不是<input type=checkbox>能搞定的了,必须要模拟。 另外呢,如果有disabled了,那么它的状态应该要不被其它checkbox的点击所改变。 |
|
返回顶楼 | |
发表时间:2010-06-23
这帖子不错
|
|
返回顶楼 | |