Получить выделенный текст из выпадающего списка (выбрать поле) с помощью jQuery - PullRequest
2168 голосов
/ 29 октября 2009

Как я могу получить выделенный текст (не выбранное значение) из раскрывающегося списка в jQuery?

Ответы [ 31 ]

29 голосов
/ 01 февраля 2014
$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});
26 голосов
/ 07 октября 2010
var someName = "Test";

$("#<%= ddltest.ClientID %>").each(function () {
    $('option', this).each(function () {
        if ($(this).text().toLowerCase() == someName) {
            $(this).attr('selected', 'selected')
        };
    });
});

Это поможет вам получить правильное направление. Выше код полностью протестирован, если вам нужна дополнительная помощь, дайте мне знать.

19 голосов
/ 14 мая 2015

Пожалуйста, используйте это

var listbox = document.getElementById("yourdropdownid");
var selIndex = listbox.selectedIndex;
var selValue = listbox.options[selIndex].value;
var selText = listbox.options[selIndex].text;   

Тогда, пожалуйста, предупредите «selValue» и «selText». Вы получите выбранное значение выпадающего меню и текст

18 голосов
/ 06 ноября 2013

Для тех, кто использует SharePoint списки и не хочет использовать длинный сгенерированный идентификатор, это будет работать:

var e = $('select[title="IntenalFieldName"] option:selected').text();
16 голосов
/ 30 января 2014
 $("#selectID option:selected").text();

Вместо #selectID вы можете использовать любой селектор jQuery, например .selectClass с использованием класса.

Как указано в документации здесь .

: выбранный селектор работает для элементов. Это не работает для флажков или радиовходов; используйте для них :checked.

.text () Согласно документации здесь .

Получить объединенное текстовое содержимое каждого элемента в наборе соответствующих элементов, включая их потомков.

Таким образом, вы можете взять текст из любого элемента HTML, используя метод .text().

Более подробное объяснение см. В документации.

14 голосов
/ 23 апреля 2013
$("select[id=yourDropdownid] option:selected").text()

Это прекрасно работает

12 голосов
/ 23 января 2016

Для получения выбранного значения используйте

$('#dropDownId').val();

и для получения текста выбранного элемента используйте эту строку:

$("#dropDownId option:selected").text();
12 голосов
/ 11 апреля 2015
$('#id').find('option:selected').text();
10 голосов
/ 19 ноября 2015

Выберите текст и выбранное значение в раскрывающемся списке / выберите событие изменения в jQuery

$("#yourdropdownid").change(function() {
    console.log($("option:selected", this).text()); //text
    console.log($(this).val()); //value
})
9 голосов
/ 31 июля 2014

Использование:

('#yourdropdownid').find(':selected').text();
...