jQuery更新选择带行插入的ID

时间:2014-08-27 18:06:10

标签: javascript jquery html forms select

我正在处理动态表行插入挑战,我正在寻找克隆一行,在我的插入按钮指定的行之前插入它,并更新每个元素的id,以便稍后我可以在变更行为中加入一些。我在这里提供了一个小提琴:http://jsfiddle.net/6y18mho8/6/

相关的jquery代码在下面,当它通过并更新"输入"它似乎忽略了我的"选择"下拉框。是什么导致了这种行为?

$(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;

});

正如您在小提琴中看到的那样,添加和插入按钮有效,行正确克隆,文本输入字段的ID正确更新。但是,所选项目的ID不会更新。任何帮助将不胜感激。

小提琴:http://jsfiddle.net/6y18mho8/6/

1 个答案:

答案 0 :(得分:0)

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

你应该这样做:

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

小提琴工作:http://jsfiddle.net/6y18mho8/8/