Подтвердить что ты не робот

Получить текущее значение, выбранное в раскрывающемся меню, используя jQuery

У меня есть набор динамически сгенерированных выпадающих списков на моей странице. в основном я клонировал их с помощью jQuery. теперь я хочу зафиксировать значение, выбранное в каждом раскрывающемся списке событий изменения.

Я пробовал что-то вроде этого, которое не срабатывало.

$('._someDropDown').live('change', function(e) {
            //debugger;
            var v = $(this);
            alert($(this + ':selected').val());
            alert($(this).val());
        });

Как мне это сделать?

4b9b3361

Ответ 1

Это то, что вам нужно:)

$('._someDropDown').live('change', function(e) {
    console.log(e.target.options[e.target.selectedIndex].text);
});

Для нового использования jQuery on

$(document).on('change', '._someDropDown', function(e) {
    console.log(this.options[e.target.selectedIndex].text);
});

Ответ 2

Чтобы получить текст выбранной опции

$("#your_select :selected").text();

Чтобы получить значение выбранной опции

$("#your_select").val();

Ответ 3

$("#citiesList").change(function() {
    alert($("#citiesList option:selected").text());
    alert($("#citiesList option:selected").val());              
});

citiesList - это идентификатор тега select

Ответ 4

Проверить это →

Для получения текста

$("#selme").change(function(){
 $(this[this.selectedIndex]).text();
});

Для получения значения

$("#selme").change(function(){
 $(this[this.selectedIndex]).val();
});

Ответ 5

Вы можете попробовать:

$("._someDropDown").val();

Ответ 6

Чтобы получить значение выпадающего (select) элемента, просто используйте val().

$('._someDropDown').live('change', function(e) {
  alert($(this).val());
});

Если вы хотите текст выбранного параметра, используя это:

$('._someDropDown').live('change', function(e) {
  alert($('[value=' + $(this).val() + ']', this).text());
});

Ответ 7

Это на самом деле более эффективно и имеет лучшую читаемость, на мой взгляд, если вы хотите получить доступ к своему выбору с помощью этой или другой переменной

$('#select').find('option:selected')

На самом деле, если я правильно помню, phpStorm попытается автоматически исправить другой метод.

Ответ 8

Если вам нужен индекс текущего выбранного значения.

$selIndex = $("select#myselectid").prop('selectedIndex'));

Ответ 9

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

$("#yourdropdownid option:selected").val();

Ответ 10

Параметры, описанные выше, не будут работать, потому что они не являются частью спецификации CSS (это расширение jQuery). Проведя 2-3 дня для поиска информации, я обнаружил, что единственный способ выбрать текст выбранной опции из раскрывающегося списка:

{ $("select", id:"Some_ID").find("option[selected='selected']")}

Обратитесь к дополнительным примечаниям ниже: Потому что: selected является расширением jQuery, а не частью спецификации CSS, запросы с использованием: selected не могут воспользоваться повышением производительности, предоставляемым встроенным методом DOM querySelectorAll(). Для достижения наилучшей производительности при использовании: выбрано для выбора элементов, сначала выберите элементы, используя чистый селектор CSS, затем используйте .filter(":selected"). (скопировано из: http://api.jquery.com/selected-selector/)

Ответ 11

Вы также можете использовать :checked

$("#myselect option:checked").val(); //to get value

или, как сказано в других ответах, просто

$("#myselect").val(); //to get value

и

$("#myselect option:checked").text(); //to get text