我正在处理动态表行插入挑战,我正在寻找克隆一行,在我的插入按钮指定的行之前插入它,并更新每个元素的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不会更新。任何帮助将不胜感激。
答案 0 :(得分:0)
您使用错误的jquery find(为了选择所有输入和所有选择项):
你应该这样做:
$("tr:last").clone().find('input, select').each(function() {