如何判断在多重选择的onchange事件处理程序中选择了哪个选项?

时间:2011-08-31 19:21:20

标签: javascript html select javascript-events mobile-safari

有没有办法在多模式select元素的onchange处理程序中确定选择或取消选择哪个选项而不保留已选择哪些选项的单独列表并比较这两个列表?< / p>

我见过Get last clicked option in multiple select但是由于我正在开发Mobile Safari,我将无法在原生选择器组件上使用任何类型的事件处理程序来确定选择。

1 个答案:

答案 0 :(得分:0)

你应该在Safari上使用onfocus。

作为一种通用解决方案,我会这样做:

  1. 通过内联js调用或侦听器捕获选项上的onfocus / onClick事件,并在该元素上切换类名'selectedOption'(无论您希望名称是什么):

    onFocus =“javascript:toggleClass(this)”//内联

  2. 检索元素时,请使用具有特定类“selectedOption”的所有选项元素的选择器。在jQuery中,这样的东西可以工作:

    jQuery('。selectedOption','#options')//其中#options DOM元素包含您的所有选项

  3. 希望这有帮助。