var checkflag="false";
布尔值不能加引号
下同

解决方案 »

  1.   

    看看这个:
    <form name=hrong>
    <input type=checkbox name=All onclick="checkAll('mm')">??<br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/><br/>
    <input type=checkbox name=All2 onclick="checkAll('mm2')">??<br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/></form><SCRIPT LANGUAGE="JavaScript">
    function checkAll(str)
    {
      var a = document.getElementsByName(str);
      var n = a.length;
      for (var i=0; i<n; i++)
      a[i].checked = window.event.srcElement.checked;
    }
    function checkItem(str)
    {
      var e = window.event.srcElement;
      var all = eval("document.hrong."+ str);
      if (e.checked)
      {
        var a = document.getElementsByName(e.name);
        all.checked = true;
        for (var i=0; i<a.length; i++)
        {
          if (!a[i].checked){ all.checked = false; break;}
        }
      }
      else all.checked = false;
    }
    </SCRIPT>
      

  2.   

    <form name=hrong>
    <input type=checkbox name=All onclick="checkAll('mm')">全选<br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/>
    <input type=checkbox name=mm onclick="checkItem('All')"><br/><br/>
    <input type=checkbox name=All2 onclick="checkAll('mm2')">全选<br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
    <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/></form><SCRIPT LANGUAGE="JavaScript">
    function checkAll(str)
    {
      var a = document.getElementsByName(str);
      var n = a.length;
      for (var i=0; i<n; i++)
      a[i].checked = window.event.srcElement.checked;
    }
    function checkItem(str)
    {
      var e = window.event.srcElement;
      var all = eval("document.hrong."+ str);
      if (e.checked)
      {
        var a = document.getElementsByName(e.name);
        all.checked = true;
        for (var i=0; i<a.length; i++)
        {
          if (!a[i].checked){ all.checked = false; break;}
        }
      }
      else all.checked = false;
    }
    </SCRIPT>
      

  3.   

    问题很简单
    因为你的checkflag是一个全局变量
    点了第一个全选后变为true了
    所以后面的要点击两下
      

  4.   

    <SCRIPT LANGUAGE="JavaScript">function check(field,obj){    //加一个参数,checkflag不要了if(obj.value=="全部选定"){
    for(i=0;i<field.length;i++){
    field[i].checked = true;}return "取消全选"; }
    else {
    for(i=0;i<field.length;i++) {
    field[i].checked = false;}
    checkflag="false";
    return "全部选定";}}
    </script>
    <form name="form1" method="post" action="">
      <input type="checkbox" name="checkbox" value="checkbox">
      <input type="checkbox" name="checkbox" value="checkbox">
      <input type="checkbox" name="checkbox" value="checkbox">
      <input type="checkbox" name="checkbox" value="checkbox">
      <input type="checkbox" name="checkbox" value="checkbox">
      <input type="checkbox" name="checkbox" value="checkbox">
      <input name="button" type=button class="pad" onClick="this.value=check(this.form.checkbox,this)" value="全部选定"> //多传入一个this参数就行了,后面的也是
      <br>
      <input name="checkbox1" type="checkbox" id="checkbox1" value="checkbox">
      <input name="checkbox1" type="checkbox" id="checkbox1" value="checkbox">
      <input name="checkbox1" type="checkbox" id="checkbox1" value="checkbox">
      <input name="checkbox1" type="checkbox" id="checkbox1" value="checkbox">
      <input name="checkbox1" type="checkbox" id="checkbox1" value="checkbox">
      <input name="checkbox1" type="checkbox" id="checkbox1" value="checkbox">
      <input name="button" type=button class="pad" onClick="this.value=check(this.form.checkbox1,this)" value="全部选定">
      <br>
      <input name="checkbox2" type="checkbox" id="checkbox2" value="checkbox">
      <input name="checkbox2" type="checkbox" id="checkbox2" value="checkbox">
      <input name="checkbox2" type="checkbox" id="checkbox2" value="checkbox">
      <input name="checkbox2" type="checkbox" id="checkbox2" value="checkbox">
      <input name="checkbox2" type="checkbox" id="checkbox2" value="checkbox">
      <input name="checkbox2" type="checkbox" id="checkbox2" value="checkbox">
      <input name="button" type=button class="pad" onClick="this.value=check(this.form.checkbox2,this)" value="全部选定">
      <br>
      <input name="checkbox3" type="checkbox" id="checkbox3" value="checkbox">
      <input name="checkbox3" type="checkbox" id="checkbox3" value="checkbox">
      <input name="checkbox3" type="checkbox" id="checkbox3" value="checkbox">
      <input name="checkbox3" type="checkbox" id="checkbox3" value="checkbox">
      <input name="checkbox3" type="checkbox" id="checkbox3" value="checkbox">
      <input name="checkbox3" type="checkbox" id="checkbox3" value="checkbox">
      <input name="button" type=button class="pad" onClick="this.value=check(this.form.checkbox3,this)" value="全部选定">
      

  5.   

    多谢各位
    如果还要做一个按钮可以把所有的 checkbox都选择了 该如何做呢?