2012-04-16 60 views
0

Code为什么这个处理程序不适用于Chrome?

<select id="example"> 
    <option value="38">Marco</option> 
    <option value="39">Hello</option> 
</select>​ 

$("#example> option").click(function() { 
    alert("ciao"); 
}); 

在下拉项点击,警报不显示... IE和Firefox没有问题..

+0

将单击事件绑定到选择框以使其起作用:http://jsfiddle.net/cSBET/1/ – 2012-04-16 19:57:37

+0

http://stackoverflow.com/questions/7080213/jquery-click-event可能的重复-not-working-on-option-element – 2012-04-16 19:57:51

回答

1

使用$('#example').change(...) - 选择/点击一个元素会改变的价值选择框,以便应该工作。

+0

点击相同的选定选项将不会触发'change'事件。 – 2012-04-16 19:51:00

1

改为使用更改功能 - 它非常适合下拉菜单。

$('#example').change(function() { 
    alert('ciao'); 
}); 
1

却仿佛.change()是去了解这个<select>元素的正确方法。

注意到,虽然,你必须手动检索一次改变事件的<select>因为this被解雇的选项是指<select>元素,而不是<option>元素。

你必须这样做:var $selected = $(this).find(":selected");

$selected将包含选择选项,或多个选择的选项,如果多个选择启用。

只是想澄清.change()是用于<select>元素而不是<option>元素。

相关问题