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

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

 Opt #1 Opt #2 Opt #3 Opt #4  

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

 var selectedOptions = $("#myList option:selected"); 

但是我只想要点击选项 – Opt #4 。 这可能吗?

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

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

 $("#myList option").click(function() { var clickedOption = $(this); }); 

更新

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

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

 $("#myList").on("click", "option", function() { var clickedOption = $(this); }); 

然而,有一点需要注意的是, option元素根本不会在IE中引发click事件,因此上述任何一个都不会在该浏览器中起作用。

如您所知,如果用户在没有按下Cntrl键的情况下点击了选项#4,那么您将只选择选项#4作为所选选项。

如果用户在按下Cntrl键的情况下单击了选项#4,则将选择所有三个选项。 因此,将返回所有三个选项。 如果您只想要选择#4,那么您需要添加一个click事件处理程序。

像下面这样的东西会帮助你吗?

 $('#myList').delegate('option', 'click', function (opt) { alert('Option ' + opt.value + ' was clicked'); });