<script language=javascript>
function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
  {
  var e = form.elements[i];
  if (e.name != 'chk1')
     e.checked = form.checkall.checked;
  }
}</script>

解决方案 »

  1.   

    谢谢楼上回答,你利用了我提供的名称,但在我实际的程序中名字是一样的,在利用名称的情况下可以采用indexOf("check11") > 0来判定,从而选中check111,check112.请问大侠可不可以不用名称来提供?
      

  2.   

    <form name=form1>
    <div><table><tr><td><img /></td><td><input name=check1 type=checkbox onclick="chkall(this)">description1</td></tr></table>
      <div><table><tr><td><img /></td><td><input name=check11     type=checkbox />description11</td></tr></table>
          <div><table><tr><td><img /></td><td><input name=check111 type=checkbox />description111</td></tr></table>
          </div>
          <div><table><tr><td><img /></td><td><input name=check112 type=checkbox />description112</td></tr></table>
          </div>
      </div>
      <div><table><tr><td><img /></td><td><input name=check12 type=checkbox />description12</td></tr></table>
      </div>
    </div>
    </form><script language=javascript>
    function chkall(e)
    {
        var a = document.form1.elements;
        for (var i=0; i<a.length; i++)
            if(a[i].name.substr(0, 6) == "check1")
                a[i].checked = e.checked;
    }
    </script>
      

  3.   

    不用名称?那就用ID!否则怎么区别啊?问你一句,你是不是很多组?比如check1*、check2*这种?
      

  4.   

    <div><table><tr><td><img /></td><td><input name=check1 type=checkbox onclick="aa(this)"/>description1</td></tr></table>
      <div><table><tr><td><img /></td><td><input name=check11     type=checkbox />description11</td></tr></table>
          <div><table><tr><td><img /></td><td><input name=check111 type=checkbox />description111</td></tr></table>
          </div>
          <div><table><tr><td><img /></td><td><input name=check112 type=checkbox />description112</td></tr></table>
          </div>
      </div>
      <div><table><tr><td><img /></td><td><input name=check12 type=checkbox />description12</td></tr></table>
      </div>
    </div>
    <script>
    function aa(obj){
    if(obj.checked){
    var s = document.getElementsByTagName("input");
    for(var i =0 ;i<s.length;i++)
    if(s[i].type=="checkbox"){
    if(s[i].name.substring(0,obj.name.length)==obj.name)
    s[i].checked=true;
    }
    }
    }
    </script>
      

  5.   

    很多种方法啦,你可以判断form.elements[i].tagName=="CHECKBOX" 或者给checkbox 加上个class属性然后判断className=="xxx",又或者如果你的checkbox的Name或ID(假设为chk)都一样的话它们就是数组了,直接用
    for(var i=0;i<form.chk.length;i++)
       form.chk[i]......

    for(var i=0;i<document.all.chk.length;i++)
       document.all.chk[i]......
      

  6.   

    一楼,三楼的方法我都试过了,都可以但我自已写的方法却不行,能帮我看看吗?因为我的name是由程序生成的,不可能生成如,check1,check11,check12这样可以利用.所以统一叫check在<checkbox的 onclick中function check(diventity,checkvalue)
    {
      diventity.firstChild.all.check.checked = checkvalue;
      
       var mychild = diventity.children;
       for (i = 1 ; i < mychild.length; i++)
       {
          alert(mychild(i).tagName + "   " + mychild(i).id);
       
          //check(mychild(i),checkvalue);
       } }传入的是div对象
    当我打开注释名时,界面就会死掉,真是怪,请各位帮忙指正一下
      

  7.   

    当然会死掉啊!你这个是函数的递归调用!而且是没有中断条件的递归调用阿!
    相当于while(1){}的死循环!