Answers:
04/2020:更正了旧答案
在所选选项上使用: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()~~
$('select[name=selector]').change(function() { alert($(this).val()); });
value
指定属性,<option>label</option>
则将返回标签(即)。可能并不总是您想要的。当然,在大多数应用中,值是指定的。
我只是想分享我的经验
为了我,
$('#selectorId').val()
返回null。
我不得不用
$('#selectorId option:selected').val()
$('#selectorId option:selected').val()
对我没用。相反,我使用了$('select option:selected').val()
$('select option:selected').val()
它将采用HTML代码中第一个选择器的值。而$('#selectorId option:selected').val()
您可以使用指定ID的选择器的值。仔细检查错别字。这是显示我刚才说的示例:codepen.io/anon/pen/Nqgqyz
您需要将一个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();
看例子:
<select class="element select small" id="account_name" name="account_name">
<option value="" selected="selected">Please Select</option>
<option value="paypal" >Paypal</option>
<option value="webmoney" >Webmoney</option>
</select>
<script type="text/javascript">
$(document).ready(function(){
$('#account_name').change(function(){
alert($(this).val());
});
});
</script>
这段代码对我来说很好用:这将返回所选选项的值。$('#select_id')。find('option:selected')。val();
$(document ).ready(function() {
$('select[name=selectorname]').change(function() {
alert($(this).val());});
});
源链接
使用jQuery val()来获取选定值,并使用text()来获取选项文本。
<select id="myDropDown" class="form-control">
<option value="0">Select Value 0</option>
<option value="8">Option value 8</option>
<option value="5">Option value 5</option>
<option value="4">Option value 4</option>
</select>
选择下拉菜单中的更改事件
$("#myDropDown").change(function () {
// Fetching Value
console.log($(this).val());
// Fetching Text
console.log($(this).find('option:selected').text());
alert('Value: '+$(this).val()+' | Text: '+$(this).find('option:selected').text());
});
按钮点击
$("button").click(function () {
// Fetching Value
console.log($("#myDropDown").val());
// Fetching Text
console.log($('#myDropDown option:selected').text());
alert('Value: '+$("#myDropDown").val()+' | Text: '+$('#myDropDown option:selected').text());
});