在select2中,我为什么要放$('select')。val();到click()函数

时间:2016-07-17 03:23:34

标签: javascript jquery select2

你知道,我刚刚学习了select2.I需要获得所选选项的值,我知道我应该这样做:

$('select').val();

所以我只写一个像这样的简单问题:

HTML:

<button id="clickIt">click</button>

<p>SELECT NUMBER</p>
<select id='first'>
<option value='1'>First</option>
<option value='2'>Second</option>
<option value='3'>three</option>
</select>
<p id="set1"></p>

我还添加了Jquery和select2库。

当我写JS时,我发现了这个:

$(document).ready(function(){

$("#first").select2();
//var a=$("#first").val(); // it always alert 1,so a always equals 1.
$('#clickIt').on("click",function(){

var a=$('#first').val(); // that is the resule what I want .
alert(a);

})

})

我想知道为什么var a = $('#first')。val();放另一个位置会产生另一种影响吗?

1 个答案:

答案 0 :(得分:0)

由于$("#first").val();会返回当前选定的值,而非将来。因此,当您致电$("#first").select2();并尝试检索该值时,您将获得当前所选值。

但是当您在点击事件中调用$("#first").val();时,每次点击#clickIt,都会调用$("#first").val();并返回新选择的值。

我希望这对你有用。