Вы можете сделать что-то вроде этого:
var i = 1;
$("button").click(function() {
$("table tr:first").clone().find("input").each(function() {
$(this).val('').attr('id', function(_, id) { return id + i });
}).end().appendTo("table");
i++;
});
Это приведет к очистке значений для новых строк и присвоению им уникальных идентификаторов, начиная с txtTitle1, txtTile2 и т. Д.
Вы можете попробовать здесь . Если бы вам тоже нужно было изменить name
, я бы передал объект на .attr()
, чтобы сделать его немного чище, например:
var i = 1;
$("button").click(function() {
$("table tr:first").clone().find("input").each(function() {
$(this).attr({
'id': function(_, id) { return id + i },
'name': function(_, name) { return name + i },
'value': ''
});
}).end().appendTo("table");
i++;
});
Вы можете попробовать эту версию здесь .