JQuery检索文本而不是选择列表的值
我需要从选择列表中获取值,但JQuery将返回select中选项的文本。
我有以下简单的代码。
<select id="myselect">
<option selected="selected">All</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
然后,我使用下面的JQuery,我认为这会给我带来价值
var myOption = $('#myselect').val()
但是当我看着myOption
时,我会看到“一”或“两”的文字?
更新:添加val()。
console.log($('#myselect').val());
// all option's value
$('#myselect').find('option').each(function(){
console.log($(this).text());
console.log($(this).val());
});
// change event
$('#myselect').change(function(){
console.log($(this).find(':selected').text());
console.log($(this).find(':selected').val());
});
演示:http://jsfiddle.net/yLj4k/3/
获取文本值最简单的方法是
对于选定的选项文本:
$("#myselect option:selected").text();
对于选定的选项值:
$("select#myselect").val();
我有这个问题,因为jQuery Val()
函数在我的脑海中,我实际上将选项定义为<option val='xx'>
而不是<option value='xx'>
。 这就是导致问题的原因。 看到这个更新的jsfiddle。
<select id="myselect">
<option value="1">One</option>
<option value="2">Two</option>
</select>
<select id="myselect2">
<option val="1">One</option>
<option val="2">Two</option>
</select>
<script>
$('select').change(function() {
alert($(this).val());
});
</script>
第一个select
将提醒“1”或“2”,第二个select
将提醒“一个”或“两个”。
上一篇: JQuery retrieving text instead of value of select list
下一篇: How do I select an item by its text value in a dropdown using jQuery?