【问题标题】:jQuery update select ID with row insertjQuery 使用行插入更新选择 ID
【发布时间】:2014-08-27 18:06:09
【问题描述】:

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

相关的 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;

});

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

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

【问题讨论】:

    标签: javascript jquery html forms select


    【解决方案1】:

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

    你应该这样做:

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

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

    【讨论】:

    • 太棒了。我发誓我曾尝试过,但肯定也有其他问题。谢谢你。答案已接受
    猜你喜欢
    • 2021-11-22
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多