【分享】同名复选框的全选与全不选

今天在做一个asp后台管理页面,后台管理需要批量快速删除某些内容,也需要随便选一些条目来删除,于是想到了使用复选框(Checkbox),由asp生成的复选框使用的同一个名字。我百度了一下,的确查到不少内容,但皆不合用。

原因有二:

1.试运行语法错误,不能使用
2.针对的是有规律的不相同名字的复选框

于是,查阅相关资料终于写了一个可以用的(很简单不要笑话了):

function checkall()
{
for (var i=0;i<document.getElementsByName("id").length;i++) {//id即表单中Checkbox的名字,跟form的名字无关
var temp=document.getElementsByName("id");
temp.checked=document.form1.checkbtn.checked; //document.form1.checkbtn.checked是我表单中的一个参考项,你使用的话可以直接用true(全部选择)、false(全部不选)
}
}

给予同样的道理,同名反映选框组的是否已有选择判定的JS代码可如下:

function checkdata()
{
var havecheck=false;
for (var i=0;i<document.getElementsByName("id").length;i++) {
  if(document.getElementsByName("id").checked)
  { havecheck=true;
  break;
  }
}
if(!havecheck)
{ alert("请选择你要删除的项目!");
  return false;
}
return true;
}

我这里完整的参考代码如下:

<script language="javascript">
function checkall()
{
for (var i=0;i<document.getElementsByName("id").length;i++) {
var temp=document.getElementsByName("id");
temp.checked=document.form1.checkbtn.checked;
}
}
</script>
<form id="form1" name="form1" method="post" action="">
<input name="id" type="checkbox" id="id" value="4" />
<input name="id" type="checkbox" id="id" value="3" />
<input name="id" type="checkbox" id="id" value="2" />
<input name="id" type="checkbox" id="id" value="1" />  <label>
  <input name="checkbtn" type="checkbox" id="checkbtn" onclick="javascript:checkall();" value="checkbox"/>
  全选/全不选</label>
</form>

祝大家愉快啊!
最后编辑2007-06-15 09:05:01