如何复制jQuery中的克隆表行,并为控件创build新的唯一ID

如何复制jQuery中的克隆表行并为控件创build新的唯一标识。克隆也会复制数据。我不希望数据被复制。

表格行包含以下信息:

<tr> <td><input type="text" id="txtTitle" name="txtTitle"></td> <td><input type="text" id="txtLink" name="txtLink"></td> </tr> 

我需要为所有新行创build唯一的id,如txtTitle1,link1,Title2,link2等

你可以做这样的事情:

 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等开始的唯一ID。

你可以在这里试试 。 如果您还需要更改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++; });​ 

你可以在这里试试这个版本 。