Как получить метку опции выбора с помощью jQuery?

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

Значение можно получить с помощью $select.val().

А как насчет label?

Есть ли решение, которое будет работать в IE6?

100 голосов | спросил user198729 1 FebruaryEurope/MoscowbMon, 01 Feb 2010 12:43:07 +0300000000pmMon, 01 Feb 2010 12:43:07 +030010 2010, 12:43:07

9 ответов


0

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

$('select option:selected').text();
ответил Sergey Kuznetsov 1 FebruaryEurope/MoscowbMon, 01 Feb 2010 12:46:15 +0300000000pmMon, 01 Feb 2010 12:46:15 +030010 2010, 12:46:15
0

Привет, сначала дайте идентификатор для выбора как

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

тогда вы можете назвать выбранную метку следующим образом:

jQuery('#theid option:selected').text()
ответил open-ecommerce.org 13 PM00000070000004531 2012, 19:45:45
0

Для справки есть также вторичный атрибут label в теге option:

//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>
ответил kingPuppy 9 +04002014-10-09T17:29:09+04:00312014bEurope/MoscowThu, 09 Oct 2014 17:29:09 +0400 2014, 17:29:09
0

Чтобы получить метку определенного параметра в раскрывающемся списке, можно сделать следующее -

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

или

$('#id_of_dropdown > option[value='value_to_be_Searched']').html();
ответил Snigdha Batra 1 MarpmFri, 01 Mar 2013 15:56:00 +04002013-03-01T15:56:00+04:0003 2013, 15:56:00
0
$("select#selectbox option:eq(0)").text()

Индекс 0 в "option: eq (0)" можно заменить на любой индексированный параметр, который вы хотите получить.

Это полезно: http://www.myphpetc.com/2009/03 /jquery-select-element-cheat-sheet.html

ответил eugene 18 AMpMon, 18 Apr 2011 09:27:08 +040027Monday 2011, 09:27:08
0

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

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

Это позволит извлечь отображаемый текст для обоих стилей элементов <option>:

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

Если у него есть атрибут label и текст внутри элемента, он будет использовать label - это то же поведение, что и в браузере.

Для потомков это было проверено в jQuery 3.1.1

ответил amphetamachine 29 PM00000070000003031 2017, 19:22:30
0
<SELECT id="sel" onmouseover="alert(this.options[1].text);"
<option value=1>my love</option>
<option value=2>for u</option>
</SELECT>
ответил meo 3 MarpmWed, 03 Mar 2010 12:49:58 +03002010-03-03T12:49:58+03:0012 2010, 12:49:58
0

В современных браузерах для этого вам не нужен JQuery. Вместо этого используйте

document.querySelectorAll('option:checked')

Или укажите любой элемент DOM вместо document

ответил John Henckel 12 +03002018-10-12T22:47:29+03:00312018bEurope/MoscowFri, 12 Oct 2018 22:47:29 +0300 2018, 22:47:29
0

Вы ищете $select.html()

http://api.jquery.com/html/

ответил Guillaume Flandre 1 FebruaryEurope/MoscowbMon, 01 Feb 2010 12:46:07 +0300000000pmMon, 01 Feb 2010 12:46:07 +030010 2010, 12:46:07

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132