2012-10-09 44 views
1

我有一個表單提交時添加行到表:jQuery的:克隆最新行表 - 不是最後一排,最新

<form id="scan_form" name="scan_form" method="post" action="/cgi-bin/app/app.pl" onsubmit="return checkout('[email protected]');"> 

旁註
要添加/追加提交功能沒有「干擾」其現有的功能如下:

$("#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. 
}); 

表按字母順序排序,所以最新的行不一定是最後一排。

UPDATE
嘗試這樣的觀念:

步驟1:克隆以上表:

var lbl = $("#loanTable tbody"); 
var newLbl = $(lbl[0].outerHTML); 
所有現有行 'oldRow'

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

步驟2的集ID

步驟3:刪除ID爲'oldRow'的行

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

正如你猜測的那樣,它刪除了一切。我如何連接這些點?

UPDATE 2
如何執行以下操作?

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

想要標記添加到表中的新行。

+0

考慮添加時間戳行(也許是數據屬性?) - 那麼它可以用於排序,查找和刪除。 – 2012-10-10 00:08:08

+0

@pst - 我可以將此時間戳添加到現有行,然後複製沒有此標識或標記的行?輝煌!!!!!!!如果這樣做的話,你應該讓這個答案...比我要去的方向簡單得多。謝謝! – Bubnoff

回答

1

你可以嘗試一些類,說「.newRow」,即事件應該刪除這個類來爲下一個插入準備創建新行:

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

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

我想我會嘗試反過來。將現有行標記爲「舊」,克隆整個表,刪除新表中的「舊」行,留下「新」行。 – Bubnoff

+0

如果它適合你的邏輯更多...希望它會有所幫助 – Felix

相關問題