一旦用户在html的select元素中选择一个选项,我想相应地显示一些内容。因此,当用户做出选择时,我需要通过jquery立即获取所选的选项值。我的jquery如下(非常简单):
$('select').live('click', function(event){
console.log($('select').val());
});
但问题是,每次单击select元素时,它都会首先显示它的当前值,然后显示单击选项时选择的值,这不是我想要的。我不需要当前值,我只想要你这次选择的值。那么我应该如何在jquery中实现这一点呢?
答案 0 :(得分:2)
您应该收听change
事件,并在处理程序中使用this
关键字引用当前选择元素,如果您的页面$('select').val()
中只有一个选择元素返回页面中第一个select元素的值。另请注意,live
方法已弃用,如果您要委托事件,则可以使用on
方法。
$(document).on('change', 'select', function(event){
console.log( this.value );
// console.log( $(this).val() );
});
答案 1 :(得分:1)
将其更改为选择框更改事件。请尝试以下代码
$('select').live('change', function(event){
console.log($(this).val());
});
(OR)
$('select').change(function(event){
console.log($(this).val());
});
答案 2 :(得分:1)
答案 3 :(得分:0)
您可以像这样获得所选的值:
$('#select').change(function() {
var selectVal = $('#select :selected').val();
});