有两个checkbox{RootID,ChildID}怎么让选中RootID后,在它内部的ChildID完全被选中或者取消?

netfound 2004-10-15 04:58:57
<form name=theForm>
<FIELDSET astyle="BORDER:1px dashed #4e8ae4;" align=center>
<LEGEND><input name=RootID type=checkbox checked value=1 onclick="javascript:CheckAll('child_1')">语言选择</LEGEND>
<table width=500>
<tr>
<td><input name=ChildID type=checkbox checked value=1>中文</td>
</tr>
</table>
<table width=500>
<tr>
<td><input name=ChildID type=checkbox checked value=2>英文</td>
</tr>
</table>
</FIELDSET>
<FIELDSET astyle="BORDER:1px dashed #4e8ae4;" align=center>
<LEGEND><input name=RootID type=checkbox checked value=2 onclick="javascript:CheckAll('child_2')">系统配置</LEGEND>
<table width=500>
<tr>
<td><input name=ChildID type=checkbox checked value=3>修改管理员</td>
</tr>
</table>
<table width=500>
<tr>
<td><input name=ChildID type=checkbox checked value=4>增加管理员</td>
</tr>
</table>
</FIELDSET>

</form>
...全文
92 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
HStone 2004-10-15
  • 打赏
  • 举报
回复
<html>
<head>
<script>
function selectChild(obj) {
var objs = document.getElementsByTagName("INPUT");
//find root
var i = 0;
for (; i<objs.length; i++) {
if (obj==objs[i])
break;
}
if (obj==objs[i]) {
//select child
for (var j = i+1; j<objs.length; j++) {
if (objs[j].name=="childID")
objs[j].checked = objs[i].checked;
else
break;
}
}
}
</script>
</head>
<body>
<form>
<input type=checkbox name=rootid onclick="selectChild(this)">
<input type=checkbox name=childID>
<input type=checkbox name=childID>
<input type=checkbox name=childID>
<input type=checkbox name=rootid onclick="selectChild(this)">
<input type=checkbox name=childID>
<input type=checkbox name=childID>
<input type=checkbox name=rootid onclick="selectChild(this)">
<input type=checkbox name=childID>
<input type=checkbox name=childID>
<input type=checkbox name=childID>
</form>
</body>
</html>
netfound 2004-10-15
  • 打赏
  • 举报
回复
请问,你调试了我的代码吗?看来你没有懂我的意思!
我是说这个意思!
<form>
<input checkbox name=rootid onclick="选中下面三个">
<input checkbox name=childID>
<input checkbox name=childID>
<input checkbox name=childID>
<input checkbox name=rootid onclick="选中下面两个">
<input checkbox name=childID>
<input checkbox name=childID>
<input checkbox name=rootid onclick="选中下面三个">
<input checkbox name=childID>
<input checkbox name=childID>
<input checkbox name=childID>
</form>
meizz 2004-10-15
  • 打赏
  • 举报
回复
<input type=checkbox name=mm value=a onclick="Item(this, 'mmAll')"><br>
<input type=checkbox name=mm value=b onclick="Item(this, 'mmAll')"><br>
<input type=checkbox name=mm value=c onclick="Item(this, 'mmAll')"><br>
<input type=checkbox name=mm value=d onclick="Item(this, 'mmAll')"><br>
<input type=checkbox name=mm value=e onclick="Item(this, 'mmAll')"><br><br>
<input type=checkbox name=mmAll onclick="All(this, 'mm')">全选与不全选的切换

<script language=Javascript>
function All(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked; //得到那个总控的复选框的选中状态
}
function Item(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked) all.checked = false;
else
{
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}
}
</script>
相关推荐
JQuery实现的 checkbox 全选;