<html>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
   if (field.value==1)
    {
    field.checked=true;
     checkflag="true";
    }
    else
    {
    for (i = 0; i < field.length; i++)
     {
    field[i].checked = true;}
    checkflag = "true";
    return "false"; }
   }
else 
{
  if (field.value==1)
   {
    field.checked=false;
    checkflag="false";
    }
   else
   {
   for (i = 0; i < field.length; i++) {
  field[i].checked = false; }
  checkflag = "false";
 
   return "true"; }
}
}
//  End -->
</script>
<body>
<form name="form" method="post" action="">
<input type="checkbox" name="list" value="1">
<input type="checkbox" name="list" value="1">
<input type=button value="全选" onClick="check(this.form.list)">
</body></html>

解决方案 »

  1.   

    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    var checkflag = false;
    function check(field) {
    checkflag = !checkflag; 
    if(field.length)
    {
    for (i = 0; i < field.length; i++) {
    field[i].checked = checkflag;
    }

    }
    else
    {
    field.checked = checkflag;
    }
    }
    //  End -->
    </script>
      

  2.   

    补充楼上的:
    如果当前页面没有checkbox,需要对传入的obj做一个校验:if(field){
        if(field.length){
           //....codes....
        }
    }else{
        alert("没有checkbox");
    }另外还有一种方法比较麻烦,但既然做吗,就要知道的多一点:),如下:
    try{
        for (i = 0; i < field.length; i++) {
            field[i].checked = checkflag;
        }}catch(Exception e){
       field.checked = checkflag;}