2015-03-02 56 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