2015-03-02 88 views
0

我正在使用我在此fiddle中找到的代碼,它幾乎是我需要的完美代碼。克隆/刪除TR行 - 幾乎工作

該代碼允許我克隆另一個TR並可以選擇刪除克隆的行。

我遇到的問題是我不希望能夠刪除所有行。

如何停止腳本刪除第一行?

我曾嘗試:

var numItems = $('.DeleteBoxRow').length 
if (numItems >1) { 
$(this).closest('tr').remove(); 
} 

但這似乎有點碰運氣。

我還發現,如果我添加然後刪除行,我得到一個問題,我不能再次添加。

任何意見如何排序? 感謝

回答

2

既然你與動感的元素處理使用event delegation.delegate()是因爲在小提琴的jQuery 1.6中使用時,如果你正在使用jQuery> = 1.7使用.on()

$('#BoxTable').delegate('.DeleteBoxRow:not(#TemplateRow .DeleteBoxRow)', 'click', function() { 

     $(this).closest('tr').remove(); 
}); 

也需要改變克隆行的ID,因爲元素的ID必須是唯一的。此外,在上述選擇,我們排除元素中.DeleteBoxRow元素與ID TemplateRow因此,如果有任何其他行與ID有太多的刪除將無法正常工作

var $newRow = $('#TemplateRow').clone(true).removeAttr('id'); 

演示:Fiddle

+0

大 - 謝謝你的幫助:D – Rocket 2015-03-02 11:11:22