使用jQuery获取下拉列表项的选定值

时间:2010-05-06 11:08:52

标签: jquery

如何使用jQuery获取下拉框的选定值?
我尝试使用

var value = $('#dropDownId').val();

var value = $('select#dropDownId option:selected').val();

但两者都返回一个空字符串。

30 个答案:

答案 0 :(得分:787)

对于单选dom元素,要获取当前选定的值:

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

获取当前选定的文字:

$('#dropDownId :selected').text();

答案 1 :(得分:57)

var value = $('#dropDownId:selected').text()

应该可以正常工作,请看这个例子:

$(document).ready(function(){ 
  $('#button1').click(function(){ 
    alert($('#combo :selected').text());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="combo">
  <option value="1">Test 1</option>
  <option value="2">Test 2</option>
</select>
<input id="button1" type="button" value="Click!" />

答案 2 :(得分:21)

试试这个jQuery,

$("#ddlid option:selected").text();

或此javascript,

 var selID=document.getElementById("ddlid");
 var text=selID.options[selID.selectedIndex].text;

如果您需要访问该值而不是文本,请尝试使用val()方法而不是text()

查看以下小提琴链接。

Demo1 | Demo2

答案 3 :(得分:14)

试试这个

$("#yourDropdown option:selected").text();

答案 4 :(得分:12)

我知道这是一个非常古老的帖子,我可能会因为这次可怜的复活而被鞭打,但我想我会分享一些非常有用的小JS片段,我在我的武器库中的每个应用程序中都使用它......

如果输入:

$("#selector option:selected").val() // or
$("#selector option:selected").text()

已经过时了,请尝试将这些小曲面添加到您的全局*.js文件中:

function soval(a) {
    return $('option:selected', a).val();
}
function sotext(a) {
    return $('option:selected', a).text();
}

而只是写soval("#selector");sotext("#selector");!通过组合两者并返回包含valuetext的对象来获得更好的效果!

function so(a) {
    my.value = $('option:selected', a).val();
    my.text  = $('option:selected', a).text();
    return my;
}

它为我节省了大量宝贵的时间,特别是在重型表格上!

答案 5 :(得分:9)

这将提醒所选值。 JQuery代码......

$(document).ready(function () {

        $("#myDropDown").change(function (event) {
            alert("You have Selected  :: "+$(this).val());
        });
    });

HTML代码......

<select id="myDropDown">
        <option>Milk</option>
        <option>Egg</option>
        <option>Bread</option>
        <option>Fruits</option>
    </select>

答案 6 :(得分:8)

另一个经过测试的例子:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
    $('#bonus').change(function() {
    alert($("#bonus option:selected").text());
  });  
});
</script>
</head>

<body>
<select id="bonus">
<option value="1">-$5000</option>
<option value="2">-$2500</option>
<option value="3">$0</option>
<option value="4">$1</option>
<option value="5">We really appreciate your work</option>
</select>
</body>
</html>

答案 7 :(得分:7)

这将解决问题

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

答案 8 :(得分:3)

您是否为select元素提供了ID?

<select id='dropDownId'> ...

你的第一个陈述应该有效!

答案 9 :(得分:3)

对于选定的文字使用:

value: $('#dropDownId :selected').text();

对于选定的值使用:

value: $('#dropDownId').val();

答案 10 :(得分:3)

试试这个,它获得了值:

$stop_value = 2; for ($pic_start = 1; $pic_start <= $pic_count; $pic_start++) { if ($pic_start == $stop_value) { break; } echo '<photo isMain="1"><photoSmall><![CDATA[/feeds/' . $img . '/rets_images/' . $listing . '_' . $pic_start . '.jpg]]></photoSmall><photoLarge><![CDATA[/feeds/' . $img . '/rets_images/' . $listing . '_' . $pic_start . '.jpg]]></photoLarge></photo>'; }

答案 11 :(得分:2)

要从下拉列表中获取jquery值,只需使用刚刚发送的Dim conn As New MySqlConnection conn.ConnectionString = ConnectionString Dim cmd As New MySqlCommand cmd.Connection = conn conn.Open() cmd.CommandText = "SELECT Foto, length(Foto) AS picLen FROM MyTable WHERE ID = '" & IDtxt.ToString & "'" Dim reader As MySqlDataReader reader = cmd.ExecuteReader While reader.Read If (reader("picLen "))=0 Then frmCartaIdentitaView.pctImage.Image = Nothing Else Dim byteImage() As Byte = reader("Foto") Dim frmImageView stmFoto As New System.IO.MemoryStream(byteImage) frmImageView.pctImage.Image = Image.FromStream(stmFoto) frmImageView.pctImage.SizeMode = PictureBoxSizeMode.Zoom frmImageView.Show() End If End While 下面的函数并获取所选值:

id

答案 12 :(得分:2)

	function fundrp(){
	var text_value = $("#drpboxid option:selected").text();  
	console.log(text_value);
	var val_text = $("#drpboxid option:selected").val();  
	console.log(val_text);
	var value_text = $("#drpboxid option:selected").attr("vlaue") ;
	console.log(value_text);
	var get_att_value = $("#drpboxid option:selected").attr("id") 
	console.log(get_att_value);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<select id="drpboxid">
	<option id="1_one" vlaue="one">one</option>
	<option id="2_two" vlaue="two">two</option>
	<option id="3_three" vlaue="three">three</option>              
</select>
<button id="btndrp" onclick="fundrp()">Tracking Report1234</button>

答案 13 :(得分:2)

或者你会尝试:

$("#foo").find("select[name=bar]").val();

我今天使用它并且工作正常。

答案 14 :(得分:2)

使用

$('#dropDownId').find('option:selected').val()

这应该有效:)

答案 15 :(得分:2)

id中为您的下拉控件生成的html将是动态的$('ct100_<Your control id>').val().。因此,使用完整的标识{{1}}它将起作用。

答案 16 :(得分:1)

您可以使用以下代码执行此操作。

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

如果要从选择列表选项中获取所选值。这样就可以了。

$('#dropDownId option:selected').text();

答案 17 :(得分:1)

$("#selector <b>></b> option:selected").val()

或者

$("#selector <b>></b> option:selected").text()

以上代码对我来说效果很好

答案 18 :(得分:1)

这是有效的

_yourTableView.delegate = self;
_yourTableView.dataSource = self;

答案 19 :(得分:1)

使用这些代码之一

$('#dropDownId :selected').text();

OR

$('#dropDownId').text();

答案 20 :(得分:1)

$("select[id$=dropDownId]").val()
  • 试试这个

答案 21 :(得分:1)

我知道这已经过时了,但我用更新的答案更新了这个

$( document ).on( 'change', '#combo', function () {
var prepMin= $("#combo option:selected").val();
 alert(prepMin);
});

我希望这会有所帮助

答案 22 :(得分:0)

您可以使用以下任何一种:

$(document).on('change', 'select#dropDownId', function(){

            var value = $('select#dropDownId option:selected').text();

            //OR

            var value = $(this).val();

});

答案 23 :(得分:0)

你需要这样说。

$('[id$=dropDownId] option:selected').val();

答案 24 :(得分:0)

试试这个:

 $('#dropDownId option').filter(':selected').text();     

 $('#dropDownId option').filter(':selected').val();

答案 25 :(得分:0)

使用以下方法获取页面加载时的选定值:

$(document).ready(function () {
$('#ddlid').on('change', function () {
                var value = $('#ddlid :selected').text();
                alert(value);`
            });
});

答案 26 :(得分:0)

如果您有多个下拉菜单,请尝试:

HTML:

<select id="dropdown1" onchange="myFunction(this)">
    <option value='...'>Option1
    <option value='...'>Option2
</select>
<select id="dropdown2" onchange="myFunction(this)">
    <option value='...'>Option1
    <option value='...'>Option2
</select>

JavaScript:

    function myFunction(sel) {
        var selected = sel.value;
    }

答案 27 :(得分:0)

HTML:

<select class="form-control" id="SecondSelect">
       <option>5<option>
       <option>10<option>
       <option>20<option>
       <option>30<option>
</select>

JavaScript:

var value = $('#SecondSelect')[0].value;

答案 28 :(得分:-1)

$("#dropDownId").val('2');
var SelectedValue= $("#dropDownId option:selected").text();
$(".ParentClass .select-value").html(SelectedValue);


<p class="inline-large-label button-height ParentClass" >
     <label for="large-label-2" class="label">Country <span style="color: Red;">*</span><small></small></label>
     <asp:DropDownList runat="server" ID="dropDownId " CssClass="select" Width="200px">          
    </asp:DropDownList>
</p>

答案 29 :(得分:-1)

这应该对你有用

  $("#dropDownId").on('change',function(){
     var value=$(this).val();
     alert(value);
  });