2012-10-26 51 views

回答

203

使用.val获取所选选项的值。见下,

$('select[name=selector]').val() 
+0

这是最简单的答案。 –

+2

你的测试: '$('select [name = selector]')。change(function(){alert($(this).val());});' – KingRider

+2

注意,如果选择的选项没有指定了'value'属性,将返回标签(即'')。可能并不总是你想要的。当然,在大多数应用程序中,指定了值。 – Czechnology

7

您需要添加一个id到您的选择。然后:
$('#selectorID').val()

+1

你不必添加ID –

+0

我已添加ID,只是忘了在这里添加它。 – n00b

+1

从我读过的使用ID作为选择器是最快的方法。 – Marcus

20
$('select').change(function() { 
    console.log($(this).val()) 
});​ 

jsFiddle example

.val()将得到价值。

4

可以使用jquery如下

SCRIPT

$('#IDOfyourdropdown').change(function(){ 
    alert($(this).val()); 
    }); 

FIDDLE是here

0

看一下例子:

<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> 
91

我只是想分享我的EXPE我的名誉并不足以发表评论。

对于我来说,

$('#selectorId').val()

返回null。

我不得不使用

$('#selectorId option:selected').val()

+1

那是浏览器的特例吗?最新版本的chrome是不允许的,还是IE不支持它? –

+1

这是Chrome的最新版本。也许在Firefox中,但不确定。 –

+0

不知道为什么'$('#selectorId option:selected')。val()'不适合我。相反,我使用'$('select option:selected')。val()' – Francisco

2

对于选择这样

<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(); 
2

我的一个选项没有一个值:<option>-----</option>。我试图使用if (!$(this).val()) { .. },但我得到了奇怪的结果。如果<option>元素上没有value属性,则返回其中的文本而不是空字符串。如果您不希望val()为您的选项返回任何内容,请务必添加value=""

2

试试这个:

$(document).ready(function(){ 
    var data= $('select').find('option:selected').val(); 
}); 

var data= $('select').find('option:selected').text(); 
0
$('#selectorID').val(); 

OR

$('select[name=selector]').val(); 

OR

$('.class_nam').val(); 
+0

@FarhadBagherlo“继续输入”是**不是**有用的编辑评论!请总结您的更改,以便编辑历史的读者了解您所做的工作,而不必检查每个已更改的角色。谢谢! – jpaugh

0

此代码适用于我: 这将返回所选选项的值。 $('#select_id')。find('option:selected')。val();