代码如下:我实现的功能是当点击当前的那行ID复选框的时候,这一行的DZ复选框也要被勾上,但强调的是只针对当前行。不影响其他行的复选框。 而且 这每一行的复选框class和ID名字不能改。因为每一行是会在PHP中循环出来的。<form id="form1" name="form1" method="post" action="">
  <table width="600" border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td>id</td>
      <td>dz</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><label>
        <input type="checkbox" name="id" id="id" onclick="qx2()" class="bb2" />
      </label></td>
      <td><label>
        <input type="checkbox" name="dz" id="dz" class="bb3" />
      </label></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><label>
        <input type="checkbox" name="id" id="id" onclick="qx2()" class="bb2" />
      </label></td>
      <td><label>
        <input type="checkbox" name="dz" id="dz" class="bb3" />
      </label></td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>classtablejqjs

解决方案 »

  1.   

    有意义啊  ,我就是不知道怎么搞啊,大侠你看我的代码,求指点啊,第一行的可以第二行就不行了
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script language="javascript" src="../../js/jquery.min.js">
    </script>
    <script language="javascript">
    function qx2()
    {
    var bb2=$(".bb2").attr("checked");
    if(bb2)
    {
    $("input:eq(1)").attr("checked","checked");

    }else{

    $("input:eq(1)").attr("checked","");
    }

    }
    </script>
    </head><body>
    <form id="form1" name="form1" method="post" action="">
      <table width="600" border="1" cellspacing="0" cellpadding="0">
        <tr>
          <td>id</td>
          <td>dz</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td><label>
            <input type="checkbox" name="id" id="id" onclick="qx2()" class="bb2" />
          </label></td>
          <td><label>
            <input type="checkbox" name="dz" id="dz" class="bb3" />
          </label></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td><label>
            <input type="checkbox" name="id" id="id" onclick="qx2()" class="bb2" />
          </label></td>
          <td><label>
            <input type="checkbox" name="dz" id="dz" class="bb3" />
          </label></td>
          <td>&nbsp;</td>
        </tr>
      </table>
    </form>
    </body>
    </html>
      

  2.   

    因为我是PHP循环读取每一行tr出来的 ,所以每一段的IP 和 CLASS 都是一样的
    求帮助
      

  3.   

    循环生成的时候,在设置id什么的时候,用“dz”+i设置成id,就会根据循环的那个次数,设置不同的id,同一个页面上id唯一,不然很难办的。试试可以做不
      

  4.   

    jq真不习惯
    还有你的思路很成问题。
    function qx2(ob)
        {
    //console.log($(ob).parents("tr").find("input.bb3"))
    var other = $(ob).parents("tr").find("input.bb3");
    $(other).prop("checked" ,$(ob).prop("checked"));
             
        }<tr>
          <td><label>
            <input type="checkbox" name="id" id="id" onclick="qx2(this)" class="bb2" />
          </label></td>
          <td><label>
            <input type="checkbox" name="dz" id="dz" class="bb3" />
          </label></td>
          <td>&nbsp;</td>
        </tr>
      

  5.   

    楼上正解,另外,我在给你一个纯JS的:function checks(btn){
         var tds = btn.parentElement.parentElement.children;
         var box= (tds[1]).children[0] ;
         box.checked=true ;     
    }
    调用方法:
    <tr>
          <td><label>
            <input type="checkbox" name="id" id="id" onclick="checks(this)" class="bb2" />
          </label></td>
          <td><label>
            <input type="checkbox" name="dz" id="dz" class="bb3" />
          </label></td>
          <td>&nbsp;</td>
        </tr> 
      

  6.   

    啊 没发现你input外面还有一个label标签 ,如果你去掉label标签,则上面的代码有效,否则应该如下:var tds = btn.parentElement.parentElement.parentElement.children;      
    var box= ((tds[1]).children[0]).children[0] ;      
    box.checked=true;     
      

  7.   


    大侠你说的这段去掉 <lable>后,是可以勾上了,但再点击取消ID那个input勾选后, 后面的DZ input 不会自动取消 勾
      

  8.   

    按你的JQ写法我改了一下 为
    <script language="javascript">
    function qx2(ob)
        {
            //console.log($(ob).parents("tr").find("input.bb3"))
            var other = $(ob).parents("tr").find("input.bb3");
            $(other).attr("checked" ,$(ob).attr("checked"));
              
        }

    </script>能用了,attr和prop, 这我知道区别了,但我想知道 为什么要 这样写
    $(other).attr("checked" ,$(ob).attr("checked"));    ????
      

  9.   

    终于搞好了,谢谢以上回答的朋友。我修改了一下,在PHP循环中,还是有些区别的,修改后的代码如下function qx2(ob)
    {
     var other = $(ob).parents("tr").find("input").eq(1);
    $(other).attr("checked" ,$(ob).attr("checked"));

    }eq() 这很好用。