在多个下拉列表中获取单击选项

Fre*_*ets 6 javascript jquery jquery-selectors

我有一个多选下拉列表,例如:

<select id="myList" multiple="multiple">  
    <option value="1">Opt #1</option>
    <option value="2" selected="selected">Opt #2</option>
    <option value="3" selected="selected">Opt #3</option>
    <option value="4">Opt #4</option>
</select>
Run Code Online (Sandbox Code Playgroud)

如果我然后选择Opt #4,我怎么才能得到Opt #4而不是Opt #2Opt #3?我知道我可以通过这个获得所有选择的选项:

var selectedOptions = $("#myList option:selected");
Run Code Online (Sandbox Code Playgroud)

但是我只想要我点击的选项 - Opt #4.这可能吗?

编辑:请注意,当我操纵change事件中的列表时,我无法在click事件中执行此操作.还添加了多个缺失.

Ror*_*san 8

您可以在每个选项元素的单击处理程序中获取它:

$("#myList option").click(function() {
    var clickedOption = $(this);
});
Run Code Online (Sandbox Code Playgroud)

更新

编辑:当我在更改事件中操作列表时,我无法在单击事件中执行此操作.

在这种情况下,您需要使用委托事件on.试试这个:

$("#myList").on("click", "option", function() {
    var clickedOption = $(this);
});
Run Code Online (Sandbox Code Playgroud)

然而,有一点需要注意的是,option元素click在IE中根本不会引发事件,因此上述两种方法都不能在该浏览器中起作用.