如何使用jQuery获取下拉框的选定值?
我尝试使用
var value = $('#dropDownId').val();
和
var value = $('select#dropDownId option:selected').val();
但两者都返回一个空字符串。
答案 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()
。
查看以下小提琴链接。
答案 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");
!通过组合两者并返回包含value
和text
的对象来获得更好的效果!
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);
});