Select2 Получить выбранные параметры

$("#e2").select2("val") возвращает мне значение, но я не хочу получать .$listtypes['name']. эфир из data-name или из тега опции.

Я хочу получить опцию data-name для выбранной опции, как мне это сделать?

Это мой вариант генератора

foreach($core->list_types() as $listtypes){
echo "
<option 
  data-name='".$listtypes['name'] ."' 
  value='".$listtypes['id']."'>
  ".$listtypes['name'] ."
</option>";
}

Ответ 1

вы можете использовать этот

$("#e2 option:selected").text();

Ответ 2

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

$('#e2').select2('data')

вернуть данные выбранной опции

Ответ 3

Эта работа для меня:

На простом select2, чтобы получить значение метки:

$('#myVar').select2('data')[0].<name_label_from_data_input>

Может быть полезно сделать дамп данных из переменной select2:

$('#myVar').on('change', function (evt) {
  if ($('#myVar').select2('val') != null){
    console.log($('#myVar').select2('data')[0]);    
  }
});

И поймайте свой атрибут имени ярлыка.

Удачи!

Ответ 4

Похоже, что ответы @Kishan и @xploshioOn не будут работать на v4.0 +.

Попробуйте следующее: $("#e2").text().trim()

Ответ 5

Используйте метод attr .attr("data-name") на вашем селекторе.