Як отримати мітку вибору за допомогою jQuery?


114
<select>
<option value="test">label </option>
</select>

Значення можна отримати за допомогою $select.val().

Що з label?

Чи є рішення, яке буде працювати в IE6?


Ви маєте на увазі, як отримати значення вибраного, вибраного значення? яка у вашому випадку етикетка?
мураха

Це запитання слід переробити так, щоб сказати "Як отримати текст вибору за допомогою jQuery?" і всі посилання на мітку слід замінити текстом, щоб уникнути плутанини з атрибутом мітки.
Джоель Девіс

Відповіді:


222

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

$('select option:selected').text();

3
Це не завжди правильно. Показаний опис опції може бути визначений також атрибутом 'label' (крім <= IE7). Дивіться w3schools.com/tags/att_option_label.asp#gsc.tab=0 та w3.org/TR/html401/interact/forms.html#h-17.6
Скотт Стаффорд

3
Щоб отримати атрибут label , можна використовувати: jQuery ('# theid option: selected'). Attr ('label')
David Balažic

22

Привіт, спершу дайте ідентифікатор обраному як

<select id=theid>
<option value="test">label </option>
</select>

тоді ви можете назвати вибрану мітку так:

jQuery('#theid option:selected').text()

13

Для довідки є також вторинний labelатрибут на тезі опцій:

//returns "GET THIS" when option is selected
$('#selecter :selected').attr('label'); 

Html

<select id="selecter">
<option value="test" label="GET THIS">
Option (also called label)</option>
</select>

6

Щоб отримати мітку конкретного параметра у спадному меню, ви можете ввести це -

$('.class_of_dropdown > option[value='value_to_be_searched']').html();

або

$('#id_of_dropdown > option[value='value_to_be_Searched']').html();

3

Я вважаю це корисним

$('select[name=users] option:selected').text()

Під час доступу до селектора за допомогою thisключового слова.

$(this).find('option:selected').text()


2

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

$('select option:selected').prop('label');

Це витягне відображається текст для обох стилів <option>елементів:

  • <option label="foo"><option> -> "foo"
  • <option>bar<option> -> "bar"

Якщо він має labelатрибут та текст всередині елемента, він використовуватиме labelатрибут, який має таку саму поведінку, як і браузер.

Для нащадків це було перевірено у jQuery 3.1.1


0
<SELECT id="sel" onmouseover="alert(this.options[1].text);"
<option value=1>my love</option>
<option value=2>for u</option>
</SELECT>


0

У сучасних браузерах JQuery для цього не потрібен. Замість використання

document.querySelectorAll('option:checked')

Або вказати будь-який елемент DOM замість document


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.