我试图从附加的选择器获取带有JQuery函数的值。该函数适用于未附加的main元素,但对附加的元素不起作用。
我的代码:
&安培; …
问题是因为你总是瞄准 $('.mySelector option:selected') 。这只会看到第一个实例 .mySelector DOM中的元素。
$('.mySelector option:selected')
.mySelector
从逻辑上下文看,您希望查看所选选项 内 该 select 提出了 change 事件。因此你需要使用 this 和 find() 。另请注意,更新更有意义 .newDiv 循环完成后一次:
select
change
this
find()
.newDiv
$(document).on('change', '.mySelector', function () { var str = ""; $(this).find('option:selected').each(function () { str += $(this).text(); }); $('.newDiv').text(str); });
通过使用,逻辑也可以更加简洁 map() :
map()
$(document).on('change', '.mySelector', function () { var str = $(this).find('option:selected').map(function () { return $(this).text(); }).get().join(''); $('.newDiv').text(str); });