好的,我有这个代码:
<select name="selector" id="selector"> <option value="1">Option 1</option> <option value="2">Option 2</option> </select>
我想获得所选选项的值。示例:选择“选项2”,其值为“2”。“2”是我需要得到的值,而不是“选项 2”。
04/2020:更正了旧答案
在选定的选项上使用:selected伪选择器,然后使用.val函数获取选项的值。
$('select[name=selector] option').filter(':selected').val()
旁注 :使用过滤器比:selected在第一个查询中直接使用选择器更好。
:selected
如果在更改处理程序中,您可以简单地使用this.value来获取选定的选项值。有关更多选项,请参见演示。
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()~~