微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在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

原文地址:https://www.jb51.cc/jquery/184738.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐