<table border="1" id="table1"> 
  <tr >
  <th>序号</th><th>名称</th><th>地址</th><th>其他</th><th>选择</th>
  </tr>
  <tr>
  <td>序号</td><td>名称</td><td>地址</td><td>其他</td><td><input name="getinfo" id="tr_1" type="button" value="选择"/></td>
  </tr>
  <tr>
  <td>序号</td><td>名称<span></td><td>地址</td><td>其他</td><td><input id="tr_2" name="getinfo" type="button" value="选择"/></td>
  </tr>
 </table><script type="text/javascript">
$(document).ready(function(){   $("input[name='getinfo']").click(function(){
           var myRows = $('table#table1 tr').click(function(){
       $('table#table1 tr')
alert(myRows.index(this)); //效果不理想 弹出了两次  }); 
     
   });   
});
</script>
------------------------------
为什么 $('table#table1 tr').index(this) 这样就是-1 
//alert($('#table1').find('tr').index());   这样也是-1

求正解。点击button 然后获取所在是第几行,如果能够获取后面的td里的值更好 大侠解救啊~
  
jQuerytr

解决方案 »

  1.   

    真是的按钮的click事件中为什么还要绑定tr的click事件呢?你只是为了获取是第几行嘛
      

  2.   

    $("input[name='getinfo']").click(function(){
    $(this).closest("tr").index()
    });这样写就可以了
      

  3.   


    我需要的是 点击 button 然后获取 button所在的行数 
      

  4.   

     $(document).ready(function(){
    var trs=$("table#table1 tr");
       $("input[name='getinfo']").click(function(){
         var index=trs.index($(this).closest("tr"));
    alert(index);
    });