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将提醒“一个”或“两个”。

链接地址: http://www.djcxy.com/p/83073.html

上一篇: JQuery retrieving text instead of value of select list

下一篇: How do I select an item by its text value in a dropdown using jQuery?