selectpicker: получить атрибут данных выбранного параметра

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

Я старался:

$('.selectpicker').on('changed.bs.select', function (e) {
    var selected = e.target.value;
    console.log("value :  ", selected ); // gives selected value
    console.log("data attribute:  ", $(e.target).data("price")); 
});

Атрибут данных всегда возвращает неопределенный

что я тут не так делаю?

5 ответов

Это работает.

$('.selectpicker').on("changed.bs.select", function() {
    var dataTypeAttribute = $('option:selected', this).attr("data-type");
});

Просто укажите id для выбора

$("#selectidhere").on("change", function () {
  var dataname = $("option[value=" + $(this).val() + "]", this).attr('data-name');
  alert(dataname);
});

Скрипка Ссылка

      $(".selectpicker").on("changed.bs.select", 
    function(e, clickedIndex, isSelected, oldValue) {
        var arrayOfSelected = $('.selectpicker').eq(0).val();
        console.log(arrayOfSelected);
 });

Это выглядит странно, но работает отлично, так что мне все равно.

$('.selectpicker').on('changed.bs.select', function (e) {
var selected = e.target.value;
console.log("value :  "+selected ); // gives selected value
console.log("data attribute:  "+$(e.target).attr("data-price"));}); 

Вот еще один элегантный способ получить значение данных:

$('.selectpicker').on("changed.bs.select", function() {
    var price = $(this).find('option:selected').data('url');
});
Другие вопросы по тегам