jQueryで選択オプションのラベルを取得するにはどうすればよいですか?


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

値はによって取得できます$select.val()

はどうlabelですか?

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


選択した値、選択した値を取得する方法ですか?あなたのケースのラベルはどれですか?
ant

この質問は、「jQueryで選択オプションのテキストを取得する方法」と言い換える必要があります。また、labelへの参照はすべて、label属性との混同を避けるためにテキストに置き換える必要があります。
Joel Davis、

回答:


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
Scott Stafford

3
label属性を取得するには、これを使用できます:jQuery( '#theid option:selected')。attr( 'label')
DavidBalažicApr

22

こんにちは最初に選択にIDを与えます

<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


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.