Питання Отримайте виділений текст зі спадного списку (поле для вибору) за допомогою jQuery


Як я можу отримати виділений текст (не вибране значення) зі спадного списку в jQuery?


1989
2017-10-29 12:02


походження


Просто мої два центи: спадне меню "ASP" не є спеціальним; це просто хороший старий HTML. :-) - dotslash
Можна навести цю статтю: javascriptstutorial.com/blog/... - Dilip Kumar Yadav
для ванільного способу JavaScript, див stackoverflow.com/a/5947/32453 - rogerdpack


Відповіді:


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

3320
2017-10-29 12:05



Я думаю, що це має бути $("#yourdropdownid").children("option").filter(":selected").text() оскільки () повертає логічне значення того, чи відповідає об'єкт селектору чи ні. - MHollis
Я другий коментар щодо () повернення хлопчика; альтернативно, скористайтеся наступними невеликими змінами: $ ('# yourdropdownid'). children ("option: selected") text (); - scubbo
@ DT3 перевірено is("selected").text() повертає a TypeError: Object false has no method 'text' - ianace
@ DT3, він не помиляється зі швидкістю. Ось декілька швидких статистичних даних працювати в спадному меню реального розміру (8 або близько того). - Adam Tomat
$('select').children(':selected') найшвидший спосіб: jsperf.com/get-selected-option-text - Simon


Спробуйте це:

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

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

$("[id*='MyDropDownId'] :selected")

236
2017-10-29 12:04



Версія ASP.NET тут є єдиним Jquery, який працює з asp.net для мене, отже, я погоджуюсь на це. Цей: ('$ ("# yourdropdownid option: selected"). text ();'; не працював на сторінці asp.net, використовуючи майстер-сторінку. - netfed
це не спрацьовує, оскільки головні сторінки asp.net виводять випадкові символи перед селектором. Це технічно шукає щось подібне ("#ct0001yourdropdownid) - CSharper
javascriptstutorial.com/blog/... - Dilip Kumar Yadav
@CSharper - Я думаю, що говорю ASP.NET кидає випадкові символи є досить оманливим. Вони не зовсім випадкові, вони структурні та дотримуються суворих правил (засновані на таких речах, як ви ID на ваш контроль, і якщо ні, то на підставі індексу, де вони відбуваються на поточному рівні дерева тощо) - freefaller
Привіт, як це робиться в рядку таблиці / комірки, як ви знаєте, яка з випадаючих списків з таблиці, особливо в ASP MVC 5 - transformer


Відповіді, опубліковані тут, наприклад,

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

не працював для мене, але це зробив:

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

Можливо, це стара версія jQuery.


185
2018-03-19 11:41



Інша відповідь працює з найновішою версією Jquery. - Doomsknight
Не ненавидімо на цю відповідь. Використання ключового слова "знайти" стало для мене трюком. Я прийшов з абсолютно іншого контексту. - ROFLwTIME
вам не потрібна частина опції взагалі, оскільки вона має на увазі вибрану .. просто використовуючи $ ('# yourdropdownid: selected'). text (); буде працювати нормально - Dss
jquery-1.10.2.min, цей працював на мене, а не на інших. - kubilay


Якщо у змінній вже є випадаючий список, це те, що працює для мене:

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

Інші відповіді на це питання допомагали мені, але в кінцевому підсумку це тема для форуму jQuery $ (ця + "опція: вибрана"). Вибрана опція attr ("rel") не працює в IE допомагав найбільше.

Оновлення: виправлено вказану вище посилання


93
2018-02-04 05:17





$("option:selected", $("#TipoRecorde")).text()

59
2017-08-16 17:56





$("#DropDownID").val()  дасть вибране значення індексу.


54
2017-11-14 09:22



Не точно відповідь на питання, але це було корисним для мене. Питання хоче вибраного тексту. - Peter


Це працює для мене:

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

jQuery версія: 1.9.1


50
2017-09-25 07:36



Це працювало для мене, тому що на change подія я можу тепер використовувати $(this).find('option:selected').text() отримати текст. - Timo002
$(this).children(':selected').text() також буде працювати. @ Timo002 - Mr. Mak


Це працює для мене

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

Якщо елемент створюється динамічно

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

46
2017-08-14 11:12