用数字来命名控件不是个好办法,但试试<script langugage="javascript">
function document.onclick()
{
  var ele = event.srcElement;
  if (ele.tagName == "INPUT" && ele.type == "checkbox")
  {
switch (ele.name)
{
   case "all":
setCheck(ele,true);
break;
   case "1": case "2": case "3": case "4":
setCheck(ele);
break;
   default:
break; }
  }
}function setCheck(obj, bAll)
{
  var inputs = document.all.tags("INPUT");
  for (var i=0; i < inputs.length; i++)
  {
if (inputs[i].type == "checkbox" && obj != inputs[i])
{
  if (bAll)
inputs[i].checked = obj.checked;
  else if (inputs[i].name.length > 1 && inputs[i].name.indexOf(obj.name) ==0)
inputs[i].checked = obj.checked; }

  }
}
</script>

解决方案 »

  1.   

    第一个选择做好啦,是不是这样?下面依次类推:<script>
    function qi(all){
    for(i=0;i<list1.checkbox1.length;i++)
    list1.checkbox1[i].checked=all;}
    </script><FORM name="list1" METHOD=POST ACTION="">
    <INPUT TYPE="checkbox" NAME="1" value="Check All" onClick="qi(this.checked);">1
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="checkbox1">11
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="checkbox1">12
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="checkbox1">13
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="checkbox1">14
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="2">2
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="21">21
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="22">22
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="23">23
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="24">24
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="3">3
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="31">31
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="32">32
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="33">33
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="34">34
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="4">4
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="41">41
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="42">42
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="43">43
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="44">44
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="all">all
    </FORM>
      

  2.   

    <FORM METHOD=POST ACTION="">
    <INPUT TYPE="checkbox" NAME="M1">1
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M11">11
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M12">12
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M13">13
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M14">14
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="M2">2
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M21">21
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M22">22
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M23">23
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M24">24
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="M3">3
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M31">31
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M32">32
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M33">33
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M34">34
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="M4">4
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M41">41
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M42">42
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M43">43
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="M44">44
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="all">all
    </FORM>这样可以吗?请你帮改一下JavaScript.
      

  3.   

    <script langugage="javascript">
    function document.onclick()
    {
      var ele = event.srcElement;
      if (ele.tagName == "INPUT" && ele.type == "checkbox")
      {
    switch (ele.name)
    {
       case "all":
    setCheck(ele,true);
    break;
       case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "10": case "11": case "12": case "13": case "14":
    setCheck(ele);
    break;
       default:
    break; }
      }
    }function setCheck(obj, bAll)
    {
      var inputs = document.all.tags("INPUT");
      for (var i=0; i < inputs.length; i++)
      {
    if (inputs[i].type == "checkbox" && obj != inputs[i])
    {
      if (bAll)
    inputs[i].checked = obj.checked;
      else if (inputs[i].name.length > 1 && inputs[i].name.indexOf(obj.name) ==0)
    inputs[i].checked = obj.checked; }

      }
    }
    </script>
    <FORM METHOD=POST ACTION="">
    <INPUT TYPE="checkbox" NAME="1">1
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="11">11
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="12">12
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="13">13
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="14">14
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="2">2
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="21">21
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="22">22
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="23">23
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="24">24
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="3">3
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="31">31
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="32">32
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="33">33
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="34">34
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="4">4
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="41">41
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="42">42
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="43">43
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="44">44
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="5">5
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="51">51
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="52">52
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="53">53
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="54">54
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="6">6
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="61">61
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="62">62
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="63">63
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="64">64
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="7">7
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="71">71
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="72">72
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="73">73
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="74">74
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="8">8
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="81">81
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="82">82
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="83">83
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="84">84
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="9">9
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="91">91
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="92">92
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="93">93
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="94">94
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="10">10
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="101">101
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="102">102
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="103">103
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="104">104
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="11">11
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="111">111
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="112">112
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="113">113
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="114">114
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="12">12
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="121">121
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="122">122
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="123">123
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="124">124
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="13">13
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="131">131
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="132">132
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="133">133
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="134">134
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="14">14
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="141">141
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="142">142
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="143">143
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="144">144<BR><BR>
    <INPUT TYPE="submit" value=" ok ">
    <INPUT TYPE="reset" value=" re ">
    <INPUT TYPE="checkbox" NAME="all">all
    </FORM>
    会出错。就是选择第14时,前面的也会自动被选中。可否请你帮我更改.不够可以加分
      

  4.   

    <script langugage="javascript">
    function document.onclick()
    {
      var ele = event.srcElement;
      if (ele.tagName == "INPUT" && ele.type == "checkbox")
      {
    switch (ele.name)
    {
       case "all":
    setCheck(ele,true);
    break;
       case "1": case "2": case "3": case "4":
       case "5": case "6": case "7": case "8":
       case "9": case "10": case "11": case "12":
       case "13": case "14":
    setCheck(ele);
    break;
       default:
    break; }
      }
    }function setCheck(obj, bAll)
    {
      var inputs = document.all.tags("INPUT");
      for (var i=0; i < inputs.length; i++)
      {
    if (inputs[i].type == "checkbox" && obj != inputs[i])
    {
      if (bAll)
    inputs[i].checked = obj.checked;
      else if (inputs[i].name.length == (obj.name.length + 1) && inputs[i].name.indexOf(obj.name) ==0)
    inputs[i].checked = obj.checked; }

      }
    }
    </script>
      

  5.   

    这么取名:
    ac
      ac1
      ac2
      ac3
      ....
    bd
      bd1
      bd2
      bd3
      ....
    cx
      cx1
      cx2
      cx3意思就是,父复选框的名字总是与其它父复选框的名字不同,但其子复选框的名字是以父复选框的名字加数字来命名的然后试用这脚本:
    <script langugage="javascript">
    function document.onclick()
    {
      var ele = event.srcElement;
      if (ele.tagName == "INPUT" && ele.type == "checkbox")
      {
            if (ele.name == "all")
              setCheck(ele,true);
    else if (!/\d+/.test(ele.name))
      setCheck(ele);
      }
    }function setCheck(obj, bAll)
    {
      var inputs = document.all.tags("INPUT");
      for (var i=0; i < inputs.length; i++)
      {
    if (inputs[i].type == "checkbox" && obj != inputs[i])
    {
      if (bAll)
    inputs[i].checked = obj.checked;
      else if (inputs[i].name.indexOf(obj.name) ==0)
    inputs[i].checked = obj.checked; }

      }
    }
    </script>
      

  6.   

    奇怪,怎么不行啊。父复选框的名字这样可以吧:a1a、a2a、a3a、a4a、a5a.....,为了在服务器好取值,所以命名了有一定的规则,你也可以更改。用a1、a2、a3、a3、a4........<script language="javascript">
    function document.onclick()
    {
      var ele = event.srcElement;
      if (ele.tagName == "INPUT" && ele.type == "checkbox")
      {
            if (ele.name == "all")
              setCheck(ele,true);
    else if (!/\d+/.test(ele.name))
      setCheck(ele);
      }
    }function setCheck(obj, bAll)
    {
      var inputs = document.all.tags("INPUT");
      for (var i=0; i < inputs.length; i++)
      {
    if (inputs[i].type == "checkbox" && obj != inputs[i])
    {
      if (bAll)
    inputs[i].checked = obj.checked;
      else if (inputs[i].name.indexOf(obj.name) ==0)
    inputs[i].checked = obj.checked; }

      }
    }
    </script>
    <FORM METHOD=POST ACTION="">
    <INPUT TYPE="checkbox" NAME="a1a">1
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a1a1">11
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a1a2">12
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a1a3">13
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a1a4">14
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a2a">2
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a2a1">21
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a2a2">22
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a2a3">23
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a2a4">24
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a3a">3
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a3a1">31
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a3a2">32
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a3a3">33
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a3a4">34
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a4a">4
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a4a1">41
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a4a2">42
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a4a3">43
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a4a4">44
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a5a">5
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a5a1">51
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a5a2">52
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a5a3">53
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a5a4">54
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a6a">6
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a6a1">61
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a6a2">62
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a6a3">63
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a6a4">64
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a7a">7
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a7a1">71
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a7a2">72
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a7a3">73
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a7a4">74
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a8a">8
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a8a1">81
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a8a2">82
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a8a3">83
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a8a4">84
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a9a">9
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a9a1">91
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a9a2">92
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a9a3">93
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a9a4">94
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a10a">10
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a10a1">101
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a10a2">102
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a10a3">103
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a10a4">104
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a11a">11
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a11a1">111
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a11a2">112
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a11a3">113
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a11a4">114
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a12a">12
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a12a1">121
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a12a2">122
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a12a3">123
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a12a4">124
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a13a">13
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a13a1">131
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a13a2">132
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a13a3">133
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a13a4">134
    <BR><BR>
    <INPUT TYPE="checkbox" NAME="a14a">14
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a14a1">141
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a14a2">142
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a14a3">143
    <BR>&nbsp;<INPUT TYPE="checkbox" NAME="a14a4">144<BR><BR>
    <INPUT TYPE="submit" value=" ok ">
    <INPUT TYPE="reset" value=" re ">
    <INPUT TYPE="checkbox" NAME="all">all
    </FORM>
      

  7.   

    or<script language="javascript">
    function document.onclick()
    {
      var ele = event.srcElement;
      if (ele.tagName == "INPUT" && ele.type == "checkbox")
      {
            if (ele.name == "all")
              setCheck(ele,true);
    else if (!/\d+$/.test(ele.name)) //name does not end with numbers
      setCheck(ele);
      }
    }function setCheck(obj, bAll)
    {
      var inputs = obj.form.elements; //document.all.tags("INPUT");
      for (var i=0; i < inputs.length; i++)
      {
    if (inputs[i].type == "checkbox" && obj != inputs[i])
    {
      if (bAll)
    inputs[i].checked = obj.checked;
      else if (inputs[i].name.indexOf(obj.name) ==0)
    inputs[i].checked = obj.checked; }

      }
    }
    </script>