web-dev-qa-db-ja.com

jQueryで選択オプションのラベルを取得する方法は?

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

値は$select.val()で取得できます。

labelはどうですか?

IE6で動作するソリューションはありますか?

108
user198729

これを試して:

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

こんにちは、まずselectにidを与えます

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

次に、選択したラベルを次のように呼び出すことができます。

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

参考のために、オプションタグにセカンダリ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>
10
kingPuppy

ドロップダウンで特定のオプションのラベルを取得するには、これを入力します-

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

または

$('#id_of_dropdown > option[value='value_to_be_Searched']').html();
6
Snigdha Batra
$("select#selectbox option:eq(0)").text()

"option:eq(0)"の0インデックスは、取得したいインデックス付きオプションと交換できます。

これは便利です: http://www.myphpetc.com/2009/03/jquery-select-element-cheat-sheet.html

2
eugene

これは役に立ちました

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

thisキーワードを使用してセレクターにアクセスする場合。

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

これを試して:

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

これにより、両方のスタイルの<option>要素の表示テキストが取り出されます。

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

要素内にlabel属性とテキストの両方がある場合、label属性を使用します。これはブラウザーと同じ動作です。

後世のために、これはjQuery 3.1.1でテストされました

2
amphetamachine

このために機能するPlunkerを作成しました。 https://plnkr.co/edit/vR9aGoCwoOUL9tevIEen$('#console').append("<br/>"+$('#test_s :selected').text())

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

最新のブラウザでは、このためにJQueryは必要ありません。代わりに使用

document.querySelectorAll('option:checked')

または、documentの代わりに任意のDOM要素を指定します

0
John Henckel