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

How to get custom data-attribute of select2 selected values

我在这里找到了类似的问题和解决方案: 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');

我得到 "Cannot read property 'current' of null"。

Here is my fiddle demo

试试这个

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

Fiddle

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

试试这个:

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

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

JSFiddle