【发布时间】:2016-02-24 10:33:34
【问题描述】:
我有一个表格行,上面有多个用于表单输入的选择框。
然后我可以克隆该行以创建新行。像这样。
var counter = 1;
$(document).ready(function() {
$('#addItemRow').click(function() {
$('#itemMultiInputTable tr:last').clone(true,true).insertAfter('#itemMultiInputTable tr:last');
$('[id^=item_number]:last').attr('id', 'item_number' + counter);
$('[name^=item_number]:last').attr('name', 'item_number' + counter);
$('[id^=select_product]:last').attr('id', 'select_product' + counter);
$('[name^=select_product]:last').attr('name', 'select_product' + counter);
$('.selectpicker').selectpicker('refresh');
counter += 1;
return false;
});
});
但是在动态创建的行上,任何“选择”框都有选择选择框下拉菜单。但是当我更改 2nd+ 选择框中的值时,它只会更改第一行的值。
它的第 2 行或第 3 行或其他什么都没有关系。当我更改 selectpicker 选择框时。只有第 1 行得到更新。并且第 2+ 行始终保持默认值。
就像它们都被绑定到第一行,而不是新的(动态添加的)行。
我做错了什么?
谢谢!
【问题讨论】:
-
最好在 CODEPEN.io 或 JSFIDDLE.net 中为您的问题创建一个示例。目前,很难理解这个问题以及尝试不同的假设。
-
"item_number" 是你要搜索的id的开头,所以应该用单引号,和"select_product"一样。
-
@zeropoint 谢谢!我修复了报价问题。我想我现在已经解决了,但我会在未来根据需要发布一个 jsfiddle 或等效的。谢谢!