我尝试了两种获取选项选择值的方法
$(".card-vaild-month option:selected").val()
$(".card-vaild-month option:selected").text()
我的选项是由javascript生成的, 当我使用方法#1时,通常无法获得值,但#2可以正常获得值。
但是,如果我的选项不是由javascript生成的(直接在html上写) 这两种方法都是可行的
这两种方法有什么区别?
提前致谢
答案 0 :(得分:2)
您应该获得选择菜单的值,而不是选项。在你的情况下
$('.card-valid-month').val();
我在下面添加了一个小例子
alert($('.input-select').val());
$('.input-select').on('change',function(){
alert($(this).val());
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="input-select">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
&#13;
答案 1 :(得分:1)
$(".card-vaild-month option:selected").val()
会返回value
属性中提到的值,如<option value=<THISVALUE>
中所选,当然是
和
$(".card-vaild-month option:selected").text()
会将标记中提到的文字返回为<option>THISVALUE</option>
检查下面的代码段
document.write("<br>val()="+$(".card-vaild-month option:selected").val());
document.write("<br>text()="+$(".card-vaild-month option:selected").text());
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<select class="card-vaild-month">
<option value="0">zero</option>
<option value="1" selected>one</option>
<option value="2">two</option>
</select>