0

我使用 jquery 添加新行并删除它们,但我的问题是,当我单击减号按钮时,它开始从下到上删除该行而不是删除特定行。意味着如果我在 10 行中填充数据并且现在想要删除第 5 行,然后单击第 5 行上的减号按钮,它会删除第 10、第 9 等等……我希望只有第 5 行会被删除,怎么可能。

这是我的 jquery 文件:

$(document).ready(function(e) {
    $("#add").click(function() {
        $('#mytable tbody>tr:last').clone(true).insertAfter('#mytable tbody>tr:last');
        var last_sn = $('#mytable tbody>tr:last>td:first').html();
        $('#mytable tbody>tr:last>td:first').html(parseInt(last_sn) + 1);
        return false;
    });
    $('#minus').click(function() {
        $('#mytable tr:last-child').remove();
    });
});​
4

3 回答 3

1

改为这样做:

$('#minus').click(function() {
    $(this).closest("tr").remove();
});​

您的代码$('#mytable tr:last-child').remove();将始终删除最后一行。此外,您应该创建minus一个类,因为它将被复制到多行,从而导致多个元素具有相同id的 .

于 2012-10-26T11:27:42.507 回答
0

$('#mytable tr:last-child').remove();应该是

$(this).closest("tr").remove();
于 2012-10-26T11:27:54.773 回答
0

$('#mytable tr:last-child').remove(); 将始终删除最后一行。

如果你有几个减号按钮,那么你不应该使用相同的 id (#minus) 而是使用一个类。

小提琴:http: //jsfiddle.net/k8dAs/

$('.minus').click(function()
{
  $(this).parents("tr").remove();
});
于 2012-10-26T11:31:39.893 回答