2014-01-09 93 views
0

Im新的jquery。我有一個只有一行的表格和一個最初顯示的按鈕。點擊一個按鈕後會添加一個新行,並且td(序列號)中的行號會增加。現在,當我刪除表格時,數字順序將被錯過。如何重新排序刪除號碼。datatable重新排序刪除一行

var i = 1; //adding the row 
var k=1; 
$("#add_ExpenseRow").click(function() { 
    $('.datepicker').datepicker('destroy'); 
    myTr = $("#expense_table tbody tr:first").clone(true); 
    myTr.find("input[type='text']").val(''); 
    myTr.show(); 
    myTr.appendTo("#expense_table tbody"); 
    var x = $("#expense_table tbody tr").length-1; 
    for(k; k<x; k++){ 
     $("#expense_table tbody tr td:first").text(k+2); 
    } 
    //deleting the row 
    $('#expense_table').delegate(".delRow",'click', function() { 
     $(this).closest("tr").remove(); 
    }); 

感謝

回答

0

升嘗試

var rowCount = $('#expense_table tr').length; 
$("#add_ExpenseRow").click(function() { 
    myTr = $("#expense_table tbody tr:first").clone(true); 
    myTr.find("input[type='text']").val(''); 
    myTr.show(); 
    myTr.appendTo("#expense_table tbody"); 
    rowCount++; 

    myTr.find("td:first").text(rowCount); 
}) 

//deleting the row 
$('#expense_table').delegate(".delRow", 'click', function() { 
    //don't allow to delete if the last row 
    if (rowCount == 1) { 
     return; 
    } 
    var $tr = $(this).closest("tr"); 
    $tr.nextAll().find('td:first').text(function (i, text) { 
     return parseInt($.trim(text)) - 1; 
    }) 
    $tr.remove(); 
    rowCount--; 
}); 

演示:Fiddle

+0

它爲我工作。我希望你能幫助你完成這件事。 – dvln

0

遍歷表的所有TR的並重新分配行號:

var number = 0; 
$("#expense_table tbody tr").each(function(tr) { 
    number++; 
    $(tr).find("td:first").text(number); 
}); 

,該號碼將被再次