删除按钮以在表(可编辑)克隆行中进行配置

时间:2012-10-19 06:12:43

标签: jquery html-table

我有一个editable table with rows cloned,克隆的行可以在两列中编辑,并带有文本区域输入编号。如果单击以编辑输入数字,则会有一个函数可以生成总和并自动给出总金额。

我现在的问题是我无法正确配置克隆行的删除按钮。如果你试一试,你会注意到它不再删除一行,而是添加一行。我需要帮助来解决这个问题。

这是克隆行的脚本,我认为需要减少和改进

$('input:button').live('click',function(){
    var temprow = $('#temprow tbody').html();
    var tr = $(this).closest('tr');
    tr.after(temprow);
});

$("input.tr_clone_add").live('click', function() {
    var lastid = $('[id^="sum"]').length + 1;
    var $tr = $(this).closest('.tr_clone');
    var $clone = $tr.clone();
    $clone.find(':text').val('');
    $clone.attr('id', 'sum' + lastid)
    $tr.after($clone);
    initEditables();
    tally('p#subtotal');
    tally('p#total');
});

$(".tr_clone_remove").live("click", function() {
$(".tr_clone").last().remove();
    initEditables();
    tally('p#subtotal');
    tally('p#total');
});

initEditables();
tally('p#subtotal');
tally('p#total'); 

My Table

2 个答案:

答案 0 :(得分:1)

  1. tr.after功能更改为:

    if ($(this).val() == '+') {
        tr.after(temprow);
    }
    
  2. remove()电话转为:

    $(this).parent().parent().remove();
    
  3. 这是fiddle

答案 1 :(得分:0)

使用正确的解决方案编辑您的小提琴:http://jsfiddle.net/Manna/S3kZw/5/

  • 由于tr_clone_remove类也是按钮类型输入,因此每次单击“删除”按钮时都会调用第一个处理程序。

    $('input:button').live('click',function(){
        var temprow = $('#temprow tbody').html();
        var tr = $(this).closest('tr');
        tr.after(temprow);
    });
    

    这就是为什么要插入行而不是删除行的原因。

  • 此外,使用正确的代码更新了删除行块。