jQuery:克隆表中的最新行 - 不是最后一行,最新

时间:2012-10-09 23:58:02

标签: jquery forms html-table

我有一个表单,在提交时向表中添加行:

<form id="scan_form" name="scan_form" method="post" action="/cgi-bin/app/app.pl" onsubmit="return checkout('f00b@r');">

旁注
想要添加/追加提交功能如下,而不会“干扰”其现有功能:

$("#scan_form").submit(function() {
    //clone row and add to hidden table.
});

当它添加一行时,我希望将相同的行添加到不同的隐藏表中进行打印。

我在想我需要以某种方式将一个函数绑定到将该行添加到另一个表但仍然卡住的表中。使用下面的SO问题作为模板,如何捕获这个最新的行?

Listen for added table rows

$('#table_id').bind('rowAddOrRemove', function(event){
    //do what you want.
});

表格按字母顺序排序,因此最新的行不一定是最后一行。

更新
尝试这个想法:

步骤1:将所有现有行的ID设置为“oldRow”

$( '#loanTable tr' ).attr("id", "oldRow");

第2步:上面的克隆表:

var lbl = $("#loanTable tbody");
var newLbl = $(lbl[0].outerHTML);

第3步:删除ID为'oldRow'的行

$(".oldRow", newLbl).remove();

正如你猜测的那样,它删除了一切。如何连接这些点?

更新2
我该如何做?

$('#table_id').bind('rowAddOrRemove', function(event){
        //add attribute print to 'this' row.
});

想要标记添加到表格中的新行。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用某些类创建新行,例如“.newRow”,在事件上您应该删除此类以准备下一个插入:

$('#table_id .newRow').trigger('rowAddOrRemove');

$('#table_id').bind('rowAddOrRemove', function(event){
   //do what you want.
   $(this).removeClass('.newRow');
});