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

2421
haddar 29 Окт 2009 в 15:02

30 ответов

Лучший ответ
$("#yourdropdownid option:selected").text();
3739
rahul 29 Окт 2009 в 12:05

Для множественного выбора:

$("#yourdropdownid :selected").map(function(i, v) { return $.trim($(v).text()); }
1
Curtis Yallop 15 Мар 2018 в 22:21
$("#dropdown").find(":selected").text();


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

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

$("#dropdown").children(":selected").text();
2
shyamm 17 Дек 2019 в 06:50

Если вы хотите получить результат в виде списка, используйте:

x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})
4
max 18 Янв 2017 в 21:56

Пытаться:

$var = jQuery("#dropdownid option:selected").val();
   alert ($var);

Или, чтобы получить текст опции, используйте text():

$var = jQuery("#dropdownid option:selected").text();
   alert ($var);

Дополнительная информация:

7
Vishal Thakur 9 Мар 2017 в 07:03
$(function () {
  alert('.val() = ' + $('#selectnumber').val() + '  AND  html() = ' + $('#selectnumber option:selected').html() + '  AND .text() = ' + $('#selectnumber option:selected').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <title></title>

  </head>
  <body>
    <form id="form1" runat="server">
      <div>
        <select id="selectnumber">
          <option value="1">one</option>
          <option value="2">two</option>
          <option value="3">three</option>
          <option value="4">four</option>
        </select>

      </div>
    </form>
  </body>
</html>

Click to see OutPut Screen

7
Satinder singh 29 Сен 2016 в 04:59

В случае родного брата

<a class="uibutton confirm addClient" href="javascript:void(0);">ADD Client</a>
<input type="text" placeholder="Enter client name" style="margin: 5px;float: right" class="clientsearch large" />
<select class="mychzn-select clientList">
  <option value="">Select Client name....</option>
  <option value="1">abc</option>
</select>


 /*jQuery*/
 $(this).siblings('select').children(':selected').text()
7
Milap 29 Июн 2016 в 12:03

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

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

Я использую JQuery 1.10.2

7
Rhaymand Tatlonghari 9 Июл 2015 в 02:00

У меня сработало следующее:

$.trim($('#dropdownId option:selected').html())
8
Mohammad Dayyan 17 Сен 2015 в 05:13

Просто попробуйте следующий код.

var text= $('#yourslectbox').find(":selected").text();

Возвращает текст выбранной опции.

9
Muddasir23 13 Ноя 2018 в 06:03
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
9
Kalaivani M 4 Янв 2017 в 12:53

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

('#yourdropdownid').find(':selected').text();
9
Peter Mortensen 29 Ноя 2014 в 09:35

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

$("#yourdropdownid").change(function() {
    console.log($("option:selected", this).text()); //text
    console.log($(this).val()); //value
})
11
Milap 29 Июн 2016 в 12:01
$('#id').find('option:selected').text();
12
Nikul 11 Апр 2015 в 09:39

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

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

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

$("#dropDownId option:selected").text();
13
Mojtaba 23 Янв 2016 в 09:07
$("select[id=yourDropdownid] option:selected").text()

Это отлично работает

15
Thangamani Palanisamy 23 Апр 2013 в 10:23
 $("#selectID option:selected").text();

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

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

Селектор: selected работает для элементов

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

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

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

Обратитесь к документации для более глубокого объяснения.

17
Peter Mortensen 28 Фев 2015 в 08:58

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

var e = $('select[title="IntenalFieldName"] option:selected').text();
19
Peter Mortensen 21 Мар 2015 в 13:56

Использовать это

const select = document.getElementById("yourSelectId");

const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;   

Затем вы получите выбранное значение и текст внутри selectedValue и selectedText.

25
Justin Lessard 22 Ноя 2019 в 14:30
var someName = "Test";

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

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

27
Vivek 2 Фев 2011 в 12:28
$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});
31
124 1 Фев 2014 в 05:55

Различные способы

1. $("#myselect option:selected").text();

2. $("#myselect :selected").text();

3. $("#myselect").children(":selected").text();

4. $("#myselect").find(":selected").text();
33
Salim 3 Авг 2014 в 19:39

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

$('select[name="thegivenname"] option:selected').text();

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

$('select[name="thegivenname"] option:selected').val();
42
Milap 29 Июн 2016 в 12:02

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

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

jQuery версия: 1.9.1

54
Peter Mortensen 28 Фев 2015 в 08:56

$("#DropDownID").val() выдаст выбранное значение индекса.

55
Aziz Shaikh 14 Ноя 2011 в 09:34
$("option:selected", $("#TipoRecorde")).text()
63
Muhammad Usman 17 Янв 2012 в 18:21

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

$("#dropdownid").change(function() {
    alert($(this).find("option:selected").text());
});

Если элемент создан динамически

$(document).on("change", "#dropdownid", function() {
    alert($(this).find("option:selected").text());
});
66
Prabhagaran 1 Авг 2017 в 07:59

Если у вас уже есть выпадающий список в переменной, это то, что мне подходит:

$("option:selected", myVar).text()

Другие ответы на этот вопрос помогли мне, но в конечном итоге ветка форума jQuery $ (эта опция +" option: selected "). Выбранный параметр attr (" rel ") не работает в IE помогло больше всего ,

Обновление: исправлена ссылка выше

102
Nouman Bhatti 12 Май 2016 в 07:22

Ответы, размещенные здесь, например,

$('#yourdropdownid option:selected').text();

Не работает для меня, но это сработало:

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

Возможно, это более старая версия jQuery.

214
Peter Mortensen 28 Фев 2015 в 08:52

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

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

Для раскрывающегося списка ASP.NET вы можете использовать следующий селектор:

$("[id*='MyDropDownId'] :selected")
264
kgiannakakis 29 Окт 2009 в 12:04