好吧,我有这样的代码:jQuery的获得选择的选项值(不是文本,但属性“值”)
<select name="selector" id="selector">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
而且我想获得所选选项的值。 示例: 选择'选项2',其值为'2'。 '2'是我需要得到的价值,而不是'选项2'。
好吧,我有这样的代码:jQuery的获得选择的选项值(不是文本,但属性“值”)
<select name="selector" id="selector">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
而且我想获得所选选项的值。 示例: 选择'选项2',其值为'2'。 '2'是我需要得到的价值,而不是'选项2'。
使用.val获取所选选项的值。见下,
$('select[name=selector]').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>
我只是想分享我的EXPE我的名誉并不足以发表评论。
对于我来说,
$('#selectorId').val()
返回null。
我不得不使用
$('#selectorId option:selected').val()
那是浏览器的特例吗?最新版本的chrome是不允许的,还是IE不支持它? –
这是Chrome的最新版本。也许在Firefox中,但不确定。 –
不知道为什么'$('#selectorId option:selected')。val()'不适合我。相反,我使用'$('select option:selected')。val()' – Francisco
对于选择这样
<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();
我的一个选项没有一个值:<option>-----</option>
。我试图使用if (!$(this).val()) { .. }
,但我得到了奇怪的结果。如果<option>
元素上没有value
属性,则返回其中的文本而不是空字符串。如果您不希望val()
为您的选项返回任何内容,请务必添加value=""
。
试试这个:
$(document).ready(function(){
var data= $('select').find('option:selected').val();
});
或
var data= $('select').find('option:selected').text();
$('#selectorID').val();
OR
$('select[name=selector]').val();
OR
$('.class_nam').val();
@FarhadBagherlo“继续输入”是**不是**有用的编辑评论!请总结您的更改,以便编辑历史的读者了解您所做的工作,而不必检查每个已更改的角色。谢谢! – jpaugh
此代码适用于我: 这将返回所选选项的值。 $('#select_id')。find('option:selected')。val();
这是最简单的答案。 –
你的测试: '$('select [name = selector]')。change(function(){alert($(this).val());});' – KingRider
注意,如果选择的选项没有指定了'value'属性,将返回标签(即'')。可能并不总是你想要的。当然,在大多数应用程序中,指定了值。 – Czechnology