2016-02-25 22 views
1

我已经尝试了两种方式来获得选项选择的值两种方式来获得选项选择的值

  1. $(".card-vaild-month option:selected").val()

  2. $(".card-vaild-month option:selected").text()

,并且由JavaScript生成我的选择, 当我使用方法#1不能正常获得价值,但#2可以正常获得价值。

然而,如果没有由JavaScript生成我的选项(在HTML直接写) 这两种方法都是可行的

的是这两种方法的区别?

在此先感谢

+0

您可以包括用于添加当您使用选项javascipt的JavaScript的。 –

回答

1

$(".card-vaild-month option:selected").val()回报<option value=<THISVALUE>value属性提及作为值被选择当然

和一个小例子

$(".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>

+0

我混淆使用,谢谢你的解释 – cihm

2

您应该得到选择菜单的值,而不是选项。在你区分

$('.card-valid-month').val(); 

我加入下面

alert($('.input-select').val()); 
 

 
$('.input-select').on('change',function(){ 
 
\t 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>