0

一旦用户在 html 的选择元素中选择一个选项,我想相应地显示一些内容。因此,当用户做出选择时,我需要立即通过 jquery 获取选定的选项值。我的 jquery 如下(很简单):

   $('select').live('click', function(event){
            console.log($('select').val());
        });

但问题是,每次我点击选择元素时,它都会先显示它的当前值,然后在点击选项时显示你选择的值,这不是我想要的。我不需要当前的值,我只想要你这次选择的值。那么我应该如何在jquery中实现这一点?

4

4 回答 4

2

您应该监听change事件,并this在您的处理程序中使用引用当前选择元素的关键字,如果您的页面中有多个选择元素,则$('select').val()仅返回页面中第一个选择元素的值。另请注意,live不推荐使用方法,如果要委托事件,可以改用on方法。

$(document).on('change', 'select', function(event){
    console.log( this.value );        
    // console.log( $(this).val() );
});
于 2013-01-11T05:06:46.623 回答
1

将其更改为选择框更改事件。试试下面的代码

$('select').live('change', function(event){
            console.log($(this).val());
        });

(或者)

$('select').change(function(event){
                console.log($(this).val());
            });
于 2013-01-11T05:07:00.203 回答
1

试试这个:

 $('select').change(function(event){
         console.log($('select').val());
    });

JSFiddle

于 2013-01-11T05:08:55.453 回答
0

您可以像这样获取选定的值:

$('#select').change(function() {
        var selectVal = $('#select :selected').val();
    });
于 2013-01-11T05:12:46.200 回答