确定在多重选择上收听更改时更改了哪些元素

时间:2011-10-11 08:22:49

标签: javascript jquery firefox javascript-events

我正在使用jQuery来监听<select multiple>元素的更改。从我给出的事件中,是否有某种方法可以确定选择中的哪些选项已更改(已选择或取消选择)?

我知道我可以遍历select的孩子来弄清楚哪些是被选中的,但我特别需要知道在事件发生时哪些刚被更改。

因此,举例来说,如果select包含选项{ A, B, C },我需要能够告诉用户控制点击何时将B添加到选择中,或者何时用户通常会点击将选择从{ A, B }更改为C

2 个答案:

答案 0 :(得分:1)

嗯,AFAIK你不能以任何简单的方式做到这一点。用户可以通过拖动或使用键盘等选择多个选项。但是,只要 onchange 事件被触发,您就可以将SELECT的默认状态存储到所选选项/ ID的数组中并进行比较/更新。 / p>

答案 1 :(得分:1)

您可以通过访问event.target(FF)和event.srcElement(IE)来获取所选选项。在任何给定的点上,您都可以使用jQuery找到所有选定的选项 -

$('id of the element').find(':selected')