jQuery获取选择的选项值(不是文本,而是属性'value')

时间:2012-10-26 15:31:36

标签: jquery html html-select

好的,我有这段代码:

<select name="selector" id="selector">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>

我想获得所选项目的价值。 例: 选择“选项2”,其值为“2”。 '2'是我需要得到的值而不是'选项2'。

14 个答案:

答案 0 :(得分:247)

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

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

答案 1 :(得分:108)

我只想分享我的经验

对我来说,

$('#selectorId').val()

返回null。

我必须使用

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

答案 2 :(得分:22)

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

<强> jsFiddle example

.val()将获得该值。

答案 3 :(得分:8)

您需要为您的选择添加ID。然后:
$('#selectorID').val()

答案 4 :(得分:4)

您可以使用jquery,如下所示

<强> SCRIPT

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

FIDDLE是here

答案 5 :(得分:4)

试试这个:

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

var data= $('select').find('option:selected').text();

答案 6 :(得分: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>

...你可以通过这种方式获得身份证明:

$('#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();

答案 7 :(得分:2)

我的一个选项没有价值:public class MyObject { public string FirstName {get;set;} public string LastName {get;set;} public List<String> ModifiedProperties {get;set;} } 。我试图使用<option>-----</option>,但我得到了奇怪的结果。如果您的if (!$(this).val()) { .. }元素上没有value属性,则会返回其中的文本而不是空字符串。如果您不希望<option>返回任何内容供您选择,请务必添加val()

答案 8 :(得分: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>

答案 9 :(得分:0)

$('#selectorID').val();

OR

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

OR

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

答案 10 :(得分:0)

这段代码对我很有用: 这将返回所选选项的值。      $( '#select_id')找到( '选项:选择了')。VAL();

答案 11 :(得分:0)

 $(document ).ready(function() {
    $('select[name=selectorname]').change(function() { 
     alert($(this).val());});
 });

答案 12 :(得分:0)

来源Link

使用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());
        });

答案 13 :(得分:0)

效果更好。试试吧。

let value = $("select#yourId option").filter(":selected").val();