如何在jquery中复制具有clone的表行,并为控件创建新的唯一标识

前端之家收集整理的这篇文章主要介绍了如何在jquery中复制具有clone的表行,并为控件创建新的唯一标识前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在jquery中复制Table Row with clone,并为控件创建新的唯一标识.Clone将同时复制数据.i不希望复制数据。

表行包含以下信息:

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

我需要为所有新行创建唯一的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。

You ca give it a try here.如果你需要更改名称,我会传递一个对象到.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++;
});​

You can try that version out here

猜你在找的jQuery相关文章