如何获取select2选择值的自定义数据属性

时间:2019-10-21 11:19:47

标签: jquery jquery-select2 jquery-select2-4

我在这里找到了与解决方案类似的问题: 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的属性'当前'”。

Here is my fiddle demo

2 个答案:

答案 0 :(得分:1)

尝试一下

$('.select-multiple').on('select2:select',function (e) {
   var price = $(e.params.data.element).data('price');
   console.log(price);
});

Fiddle

答案 1 :(得分:1)

您的价格变量是可迭代的。您必须迭代所有选定的选项。

尝试一下:

    $('.select-multiple').change(function () {
      var price = $(this).find(':selected');

      $.each(price, function(){
          console.log('Price: ', $(this).data("price"));
      });
    });

JSFiddle