Javascript jQuery使用行插入更新选择ID

Javascript jQuery使用行插入更新选择ID,javascript,jquery,html,forms,select,Javascript,Jquery,Html,Forms,Select,我正在处理一个动态表行插入挑战,希望克隆一行,在我的插入按钮指定的行之前插入它,并更新每个元素的id,以便以后可以合并一些更改行为。我在这里提供了一把小提琴: 下面是相关的jquery代码,当它遍历并更新“输入”字段的ID时,它似乎忽略了我的“选择”下拉框。是什么导致了这种行为 $(document).on('click', 'button.insertbutton', function () { var rowCount = $('#orderDetail tr').length; $(thi

我正在处理一个动态表行插入挑战,希望克隆一行,在我的插入按钮指定的行之前插入它,并更新每个元素的id,以便以后可以合并一些更改行为。我在这里提供了一把小提琴:

下面是相关的jquery代码,当它遍历并更新“输入”字段的ID时,它似乎忽略了我的“选择”下拉框。是什么导致了这种行为

$(document).on('click', 'button.insertbutton', function () {
var rowCount = $('#orderDetail tr').length;
$(this).closest('tr').before($(this).closest('tr').clone());
$(this).closest('tr').find('input','select').each(function() {
    $(this).attr({
        'id': function(_,id) {
            var regex = /[a-zA-Z]+/
            return id.match(regex) + rowCount },
        'value': '',
    })
})

return true;
}))

正如您在fiddle中看到的,添加和插入按钮工作正常,行正确克隆,文本输入字段的ID正确更新。但是,所选项目的id不会更新。任何帮助都将不胜感激


Fiddle:

您使用的jquery查找错误(为了选择所有输入和所有选择项):

你应该做:

 $("tr:last").clone().find('input, select').each(function() {

小提琴演奏:

棒极了。我发誓我试过了,但一定是出了什么问题。非常感谢。接受答复