嗯,我有很常见的情况:当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,它运行得很好。但它在上面列出的浏览器中不起作用。
答案 0 :(得分:0)
试试这个
$('select.my-select').click(function () {
var val = $(this).find('option:selected').val();
alert(val);
});
答案 1 :(得分:0)
它实现我理解你想要的东西,它处理第一个选择,默认情况下完成。
基本上,在用户真正选择默认选择之前,您会搜索默认选择:
$('.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>
编辑:请注意,您显示使用selected
或selected="selected"
,尽管它是布尔值,但说selected=true
错误。