我在这里找到了与解决方案类似的问题: Get custom data-attribute in select2 with <select>
我在每个选项中都放置了自定义数据属性。
<option value="pen" data-price="2.5">Pen</option>
当我应用该问题的公认解决方案时,
var price = $(this).select2().find(':selected').data('price');
我得到“无法读取null的属性'当前'”。
答案 0 :(得分:1)
尝试一下
$('.select-multiple').on('select2:select',function (e) {
var price = $(e.params.data.element).data('price');
console.log(price);
});
答案 1 :(得分:1)
您的价格变量是可迭代的。您必须迭代所有选定的选项。
尝试一下:
$('.select-multiple').change(function () {
var price = $(this).find(':selected');
$.each(price, function(){
console.log('Price: ', $(this).data("price"));
});
});