Как получить пользовательский атрибут данных для select2 выбранных значений - PullRequest
0 голосов
/ 21 октября 2019

Я нашел похожий вопрос с решением здесь: Получить пользовательский атрибут данных в select2 с помощью

Я поместил пользовательский атрибут данных с каждой опцией.

<option value="pen" data-price="2.5">Pen</option>

Когда я применил принятое решение этого вопроса,

var price = $(this).select2().find(':selected').data('price');

я получаю "Не удается прочитать свойство 'current' of null".

Вот моя демоверсия скрипки

Ответы [ 2 ]

1 голос
/ 21 октября 2019

Ваша ценовая переменная повторяется. Вы должны перебрать все выбранные опции.

Попробуйте это:

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

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

JSFiddle

1 голос
/ 21 октября 2019

Попробуйте это

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

Скрипка

...