さて、私はこのコードを持っています:
<select name="selector" id="selector">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
そして、選択したオプションの値を取得したいと思います。例: 「オプション 2」が選択され、その値は「2」です。「2」は取得する必要がある値であり、「オプション 2」ではありません。
さて、私はこのコードを持っています:
<select name="selector" id="selector">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
そして、選択したオプションの値を取得したいと思います。例: 「オプション 2」が選択され、その値は「2」です。「2」は取得する必要がある値であり、「オプション 2」ではありません。
2020 年 4 月: 古い回答を修正
選択したオプションに対して:selected疑似セレクターを使用し、.val関数を使用してオプションの値を取得します。
$('select[name=selector] option').filter(':selected').val()
補足:selected
:最初のクエリでセレクターを直接使用するよりも、フィルターを使用する方が適切です。
変更ハンドラー内の場合は、単にthis.value
選択したオプション値を取得するために使用できます。その他のオプションについては、デモを参照してください。
//ways to retrieve selected option and text outside handler
console.log('Selected option value ' + $('select option').filter(':selected').val());
console.log('Selected option value ' + $('select option').filter(':selected').text());
$('select').on('change', function () {
//ways to retrieve selected option and text outside handler
console.log('Changed option value ' + this.value);
console.log('Changed option text ' + $(this).find('option').filter(':selected').text());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<select>
<option value="1" selected>1 - Text</option>
<option value="2">2 - Text</option>
<option value="3">3 - Text</option>
<option value="4">4 - Text</option>
</select>
古い答え:
編集:多くの人が指摘したように、これは選択されたオプション値を返しません。
~~ .valを使用して、選択したオプションの値を取得します。下記参照、
$('select[name=selector]').val()~~
私は自分の経験を共有したかっただけです
私のため、
$('#selectorId').val()
null を返しました。
私は使用しなければならなかった
$('#selectorId option:selected').val()
選択に ID を追加する必要があります。それで:
$('#selectorID').val()
このような選択の場合
<select class="btn btn-info pull-right" id="list-name" style="width: auto;">
<option id="0">CHOOSE AN OPTION</option>
<option id="127">John Doe</option>
<option id="129" selected>Jane Doe</option>
...次の方法でIDを取得できます:
$('#list-name option:selected').attr('id');
または、代わりに値を使用して、簡単な方法で取得することもできます...
<select class="btn btn-info pull-right" id="list-name" style="width: auto;">
<option value="0">CHOOSE AN OPTION</option>
<option value="127">John Doe</option>
<option value="129" selected>Jane Doe</option>
このような:
$('#list-name').val();