<input type=checkbox name=mm value=a onclick="Item(this, 'mmAll')"><br>
<input type=checkbox name=mm value=b onclick="Item(this, 'mmAll')"><br>
<input type=checkbox name=mm value=c onclick="Item(this, 'mmAll')"><br>
<input type=checkbox name=mm value=d onclick="Item(this, 'mmAll')"><br>
<input type=checkbox name=mm value=e onclick="Item(this, 'mmAll')"><br><br>
<input type=checkbox name=mmAll onclick="All(this, 'mm')">全选与不全选的切换<script language=Javascript>
function All(e, itemName)
{
  var aa = document.getElementsByName(itemName);
  for (var i=0; i<aa.length; i++)
   aa[i].checked = e.checked; //得到那个总控的复选框的选中状态
}
function Item(e, allName)
{
  var all = document.getElementsByName(allName)[0];
  if(!e.checked) all.checked = false;
  else
  {
    var aa = document.getElementsByName(e.name);
    for (var i=0; i<aa.length; i++)
     if(!aa[i].checked) return;
    all.checked = true;
  }
}
</script>

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>无标题文档</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><script language="JavaScript">
    function set_Item(str){
    var stk = str.split("|") ;
    for (var i=0;i<stk.length;i++){//alert(stk[i]);
      var all_chkbox = document.getElementsByName('selItem');
            for (var j = 0; j < all_chkbox.length; j++)
            {
                if (all_chkbox[j].value == stk[i])
                   all_chkbox[j].checked = true;
            }
       
    }
    }
     //alert(newtime.substring(0,2));
    </script></head><body><form>
    <input type="checkbox" name="selItem" value="100" onpropertychange="set_Item('101|102|103');"><input type="checkbox" name="selItem" value="101">
    <input type="checkbox" name="selItem" value="102">
    <input type="checkbox" name="selItem" value="103">
    </form>
    </body>
    </html>
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>无标题文档</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><script language="JavaScript">
    function set_Item(str,elements){
    if (elements.checked){
    var stk = str.split("|") ;
    for (var i=0;i<stk.length;i++){//alert(stk[i]);
      var all_chkbox = document.getElementsByName('selItem');
            for (var j = 0; j < all_chkbox.length; j++)
            {
                if (all_chkbox[j].value == stk[i])
                   all_chkbox[j].checked = true;
            }
       
    } }else{
    var stk = str.split("|") ;
    for (var i=0;i<stk.length;i++){//alert(stk[i]);
      var all_chkbox = document.getElementsByName('selItem');
            for (var j = 0; j < all_chkbox.length; j++)
            {
                if (all_chkbox[j].value == stk[i])
                   all_chkbox[j].checked = false;
            }
       
    }
    }}
     //alert(newtime.substring(0,2));
    </script></head><body><form>
    <input type="checkbox" name="selItem" value="100" onpropertychange="set_Item('101|102|103',this);"><input type="checkbox" name="selItem" value="101">
    <input type="checkbox" name="selItem" value="102">
    <input type="checkbox" name="selItem" value="103">
    </form>
    </body>
    </html>
      

  3.   

    <html>
    <head>
    <title>无标题文档</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><script language="JavaScript">
    function set_Item(str,elements){
    var stk = str.split("|") ;
    for (var i=0;i<stk.length;i++){
      var all_chkbox = document.getElementsByName('selItem');
            for (var j = 0; j < all_chkbox.length; j++)
            {
                if (all_chkbox[j].value == stk[i]){
    if (elements.checked){
                   all_chkbox[j].checked = true;
    }else{
                   all_chkbox[j].checked = false;
    }
    }
            }
    }
    }
    </script>
    </head>
    <body><form>
    <input type="checkbox" name="selItem" value="100" onpropertychange="set_Item('101|102|103',this);">
    <input type="checkbox" name="selItem" value="101">
    <input type="checkbox" name="selItem" value="102">
    <input type="checkbox" name="selItem" value="103">
    </form>
    </body>
    </html>
      

  4.   

    <html>
    <head>
    <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></head>
    <body>
    <form name=hrong>
    <input type=checkbox name=All onclick="checkAll('mm')">&#555;&#1121;<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')">&#555;&#1121;<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>
    </body>
    </html>
      

  5.   

    倒,还有个问题,高手再看看<input type="checkbox" name="selItem" value="100"><input type="checkbox" name="selItem" onclick="set_Item('101|102|103','100');" value="101">
    <input type="checkbox" name="selItem" onclick="set_Item('101|102|103','100');" value="102">
    <input type="checkbox" name="selItem" onclick="set_Item('101|102|103','100');" value="103">怎么可以实现点 点101/102/103 时 100也选上,如果 101 102 103 全都没有选时 100也自动取消选中呢?
      

  6.   

    up
    效果如下,现在就差二级全不选,一级的也不选了,有办法搞到不? 
    http://www.22dm.com/x.htm