jquery - 如何在 jquery 中使用克隆复制表行并为控件创建新的唯一 ID

标签 jquery

如何在 jquery 中使用克隆复制表行并为控件创建新的唯一 ID。克隆实际上也会复制数据。我不希望复制数据。

表格行包含以下信息:

<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 。如果您也需要更改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++;
});​

You can try that version out here .

关于jquery - 如何在 jquery 中使用克隆复制表行并为控件创建新的唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3504499/

相关文章:

javascript - (Javascript) CSS width() 属性在窗口调整大小之前不应用

jquery - 使用 jQuery 在特定元素之间创建 Div?

javascript - 如何使用 jQuery 填充选项值?

javascript - 关于 jQuery 中匿名函数的问题

javascript - jQuery Accordion onclick() : hide/show header

jQuery + Bootstrap Navigation Bar - 如何在访问时突出显示链接

javascript - JQuery Chosen 插件 - 获取所选选项的 ID

jquery - 防止滚动时多次触发脚本

javascript - 循环中暂停并重新启动setTimeout

JavaScript:获取从页面顶部到任何标签的距离