一个关于复选框全选或取消的javascript问题?请高手救我啊,我要崩溃了!!
html文档代码如下:
<html>
<head>
<script language="JavaScript">
//CheckBox全选
function selectAll(formName,cbName)
{
var o=document.forms[formName].elements[cbName];
if(o.length)
{//判断是否只有一项
for(i=0;i<o.length;i++)
{
document.form[formName].elements[cbName][i].checked=true;
}
else
{
o.checked=true;
}
}
}
//CheckBox取消全选
function unSelectAll(formName,cbName)
{
var o=document.forms[formName].elements[cbName];
if(o.length)
{//判断是否只有一项
for(i=0;i<o.length;i++)
{
document.form[formName].elements[cbName][i].checked=false;
}
else
{
o.checked=false;
}
}
}
</script>
</head>
<body>
<form name="f1">
<input type="checkbox" name="interest" value="1">旅游<br>
<input type="checkbox" name="interest" value="2">音乐<br>
<input type="checkbox" name="interest" value="3">运动<br>
<input type="button" value="全选" onclick="selectAll('f1','interest')">
<input type="button" value="取消全选" onclick="unSelectAll('f1','interest')">
</form>
</body>
</html>
点击全选按钮和取消全选按钮都不起作用。高手请帮帮忙啊!
javascript问题
复选框全选或取消
HTML
CheckBox
------解决方案--------------------两个问题,一个是你有一个}号标错地方,具体在else前后,所以js无法解释,良好的代码习惯可减少这方面问题。
另外document.forms[formName].elements不是一个方法,而直接是一组对象,直接遍历就好。
function selectAll(formName,cbName){
var o=document.forms[formName].elements;
for(var i=0;i<o.length;i++){
if(o[i].name==cbName){
o[i].checked=true;
}
}
}
//CheckBox取消全选
function unSelectAll(formName,cbName){
var o=document.forms[formName].elements;
for(var i=0;i<o.length;i++){
if(o[i].name==cbName){
o[i].checked=false;
}
}
}
------解决方案--------------------
<html>
<head>
<script language="JavaScript">
function selectAll(formName,cbName,checked){
var o=document.forms[formName].elements;
for(var i=0;i<o.length;i++){
if(o[i].name==cbName){
o[i].checked=checked;
}
}
}
</script>
</head>
<body>
<form name="f1">
<input type="checkbox" name="interest" value="1">旅游<br>
<input type="checkbox" name="interest" value="2">音乐<br>
<input type="checkbox" name="interest" value="3">运动<br>
<input type="button" value="全选" onclick="selectAll('f1','interest',true)">
<input type="button" value="取消全选" onclick="selectAll('f1','interest',false)">
</form>
</body>
<