为什么第一个复选框有效,但第二个复选框无效,我做错了什么? :S
<meta http-equiv="Content-type" value="text/html; charset=UTF-8" />
<script type="text/javascript" language="javascript">
function SetAllCheckBoxes(FormName, AreaID)
{
if(!document.forms[FormName])
return;
var objCheckBoxes = document.getElementById(AreaID).getElementsByTagName('input');
if(!objCheckBoxes)
return;
var countCheckBoxes = objCheckBoxes.length;
if(!countCheckBoxes)
objCheckBoxes.checked = CheckValue;
else
for(var i = 0; i < countCheckBoxes; i++)
objCheckBoxes[i].checked = false;
}
</script>
</head>
<div id="items">
<input name="checkall" type="checkbox" onclick="SetAllCheckBoxes('SelectedItems','items');"><br>
<form name="SelectedItems" action="" method="post">
<b>Select/Unselect All</b><br>
<input id="idGSSmodules" type="checkbox" name="GSS" >
<label for="idmodules">GSS</label><br>
<input type="checkbox" name="GTS" id="idGSSmodules">
<label for="idmodules">GSS</label>
<br>
</div>
<div id="itemss">
<input name="checkall" type="checkbox" onclick="SetAllCheckBoxes('SelectedItemss','itemss');"><br>
<form name="SelectedItemss" action="" method="post">
<b>Select/Unselect All</b><br>
<input id="idGSSmodules" type="checkbox" name="GSS" >
<label for="idmodules">GSS</label><br>
<input type="checkbox" name="GTS" id="idGSSmodules">
<label for="idmodules">GSS</label>
<br>
</div>
</form>
</body>
</html>
编辑**************************************************************
如何调用表单 SetAllCheckBoxes(FormName, AreaID); 上的方法换句话说,我想在不使用复选框的情况下调用该函数?
尝试过这个,但是我无法更改复选框的值
function unCheckBoxes(FormName, AreaID) {
if(!document.forms[FormName])
return;
var objCheckBoxes = document.getElementById(AreaID).getElementsByTagName('input');
if(!objCheckBoxes)
return;
var countCheckBoxes = objCheckBoxes.length;
for(var i = 0; i < countCheckBoxes; i++)
objCheckBoxes[i].checked = false;
}
function checkCheckBoxes(FormName, AreaID){
if(!document.forms[FormName])
return;
var objCheckBoxes = document.getElementById(AreaID).getElementsByTagName('input');
if(!objCheckBoxes)
return;
var countCheckBoxes = objCheckBoxes.length;
for(var i = 0; i < countCheckBoxes; i++)
objCheckBoxes[i].checked = true;
}
checkCheckBoxes('locForm','locCheckboxes');
最佳答案
输入元素中的复选框只有选中属性,使用此属性,页面上的所有复选框都将设置为与单击的复选框相同的值。
function setAllOtherCheckboxes(checkAllbox)
{
var objCheckBoxes = document.getElementsByTagName('input');
var chkBox = 0;
for (chkBox in objCheckBoxes)
{
objCheckBoxes[chkBox].checked = checkAllbox.checked;
}
}
并在您的代码中:
<input type="checkbox" name="All" value="on"" onclick="setAllOtherCheckboxes(this);">Alles<br>
关于javascript - 为什么第一个复选框起作用但第二个复选框不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583435/