单击表格中的按钮时如何查找rowindex

时间:2013-01-01 17:47:17

标签: jquery html-table

我想找到点击按钮的行。

<table>
  <tr>
    <td>foo 1</td>
    <td><input  type="button" value="Remove" id="remove1"/> </td>
  </tr>
  <tr>
    <td>foo 2 </td>
    <td><input  type="button" value="Remove" id="remove2"/> </td>
  </tr>
</table>

我的表格结构如上所述。通常我可以使用buttonid获取行索引。但是如果我删除一行(tr),则另一行索引会发生变化。例如:

如果我用jQuery删除第一行,第二行索引更改为0,那么我就不能使用按钮的id。 (删除 - 2)

我认为我必须使用父功能,但它不起作用。

var elem = $('#remove2');
alert(elem.parent()[0].sectionRowIndex);

我试过这个,但没有用。我需要在行中单击按钮的行索引。

我希望我解释了我的问题。

4 个答案:

答案 0 :(得分:15)

试试这个:

$("table tr input").on('click', function(e){
   alert($(this).closest('td').parent()[0].sectionRowIndex);
});​

FIDDLE

答案 1 :(得分:5)

尝试使用此:http://jsfiddle.net/jd9N4/1/

var elem = $('input[type="button"]');
$(elem).click(function() {
   alert($(this).closest('tr').index());
   $(this).closest('tr').remove();
});

答案 2 :(得分:2)

您不需要ID

$('table').on('click', 'input[value="Remove"]', function(){
  $(this).closest('tr').remove();
});

答案 3 :(得分:2)

如果您要动态添加行,则可以

 $(document).on('click', 'button', function () {
     var indexRow = this.parentNode.parentNode.rowIndex;
     document.getElementById("table-name").deleteRow(indexRow);
 });