我正在尝试向表中添加一行。我发现我们可以使用 clone()方法复制现有行。我的表在两个不同的<tr>
元素中有两个文本输入。克隆最后一行也是重复我的文本输入中的值,这是我不想要的?如何在不复制值的情况下克隆行?
这是我到目前为止所拥有的:
$("#table-1 tr:last").clone();
答案 0 :(得分:24)
试试这个:
var clone = $("#table-1 tr:last").clone().find('input').val('').end();
如果您打算立即将其附加到表格中,请将.insertAfter("#table-1 tr:last")
添加到结尾。
var clone = $("#table-1 tr:last").clone().find('input').val('').end().insertAfter("#table-1 tr:last");
答案 1 :(得分:1)
您可以在给定行后添加此行,将输入字段的值设置为空白:
$('#table-1 tr:last input').attr('value','');
或只是:
$('#table-1 tr:last input').val('');
答案 2 :(得分:1)
给定以上答案是完美的,但有一件事是缺少创建的行dint没有先前创建的行所获取的事件。所以要用事件克隆相同的行,我们必须将属性设置为true。
见这里......
var newRow = $("#table-of-items tr:last").clone(true).find(':input').val('').end();
$("#table-of-items").append(newRow);
注意table-of-items是表的名称。