我需要从选择列表中获取值,但JQuery在select的选项中返回文本.
我有以下简单的代码.
<select id="myselect">
<option selected="selected">All</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
Run Code Online (Sandbox Code Playgroud)
然后我使用下面的JQuery,我认为这会给我带来价值
var myOption = $('#myselect').val()
Run Code Online (Sandbox Code Playgroud)
但是当我看到myOption我得到'一个'或'两个'的文字?
Gec*_*ang 12
更新:添加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());
});
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/yLj4k/3/
获取文本值最简单的方法是
对于所选选项文本:
$("#myselect option:selected").text();
Run Code Online (Sandbox Code Playgroud)
对于选定的选项值:
$("select#myselect").val();
Run Code Online (Sandbox Code Playgroud)
我遇到了这个问题,因为 jQueryVal()函数在我的脑海中,我实际上将选项定义<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>
Run Code Online (Sandbox Code Playgroud)
第一个select将警告“1”或“2”,第二个select将警告“一”或“二”。
| 归档时间: |
|
| 查看次数: |
14845 次 |
| 最近记录: |