我正在使用我在fiddle中找到的代码,它几乎完全符合我的需要。
该代码允许我克隆另一个TR,并可以选择删除克隆的行。
我遇到的问题是我不想删除所有行。
如何阻止脚本删除第一行?
我试过了:
var numItems = $('.DeleteBoxRow').length
if (numItems >1) {
$(this).closest('tr').remove();
}
但这似乎有点受伤。
我也发现如果我添加然后删除行,我会遇到一个问题,我无法再添加。
任何建议如何排序? 感谢
答案 0 :(得分: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
元素中排除了TemplateRow
元素,所以如果有任何其他行具有该ID,那么删除也无法正常工作
var $newRow = $('#TemplateRow').clone(true).removeAttr('id');
演示:Fiddle