jQuery选项为html select元素选择了什么事件?

时间:2014-02-17 17:06:58

标签: jquery html

嗯,我有很常见的情况:当html选项选项选择时做一些事情。有很多类似的问题,答案总是使用change事件。就像我的jsfiddle示例中的情况一样。这工作正常,但是...问题是我想do stuff即使再次选择相同的选项。选项更改时但选择时不是!例如,在this实际示例中 - 当文档准备就绪时,选择空选项。当我选择空选项时,在这种情况下,我将看不到警报,因为select实际上没有更改。但我需要看到警报。我只是好奇有一些select事件或(如果没有)实现这种行为的正确方法是什么?

我可以这样做:

$('select.my-select option').click(function () {
    var val = $(this).val();
    alert(val);
});

但它什么都没做。我没有得到预期的行为。我试过了:
Opera 19.0.1326.63
IE 11.0.9600.16518
Chrome 32.0.1700.107 m
Firefox 27.0.1

我也在旧版浏览器中尝试过这个代码,例如Opera 12,它运行得很好。但它在上面列出的浏览器中不起作用。

2 个答案:

答案 0 :(得分:0)

试试这个

$('select.my-select').click(function () {
    var val = $(this).find('option:selected').val();
    alert(val);
});

答案 1 :(得分:0)

Try this

它实现我理解你想要的东西,它处理第一个选择,默认情况下完成。

基本上,在用户真正选择默认选择之前,您会搜索默认选择:

$('.my-select option').each(function() {
    var text = $( ".my-select option:selected" ).text();        
    if (this.selected){      
        alert(text);
    }
});

然后,任何选项都可能是您的默认选项,因为您添加了selected属性:

<option value="3" selected>Option 3</option>

编辑:请注意,您显示使用selectedselected="selected",尽管它是布尔值,但说selected=true错误。