2011-04-08 45 views
12

有没有办法检测用户选择列表的值何时由javasscript设置为空而不是?看来,更改事件只能通过鼠标或键盘触发。使用Jquery检测选择列表的更改

有没有办法检测选择列表中的选项数量何时发生变化(添加,删除)?

+0

与问题4967454非常相似 – Sydwell 2012-09-28 17:16:07

回答

9

使用jQuery的change功能

$("#idofselect").change(function(){ });

17

您必须手动触发更改事件,当你改变选择的用JavaScript的价值。例如:

$('#myselect').val(10).change(); 

在此示例中,该值设置为10,并触发更改事件。如果有一个附加到select的事件处理程序,它将被执行。

+0

这似乎是最好的答案,如果有点不直观。奇怪的是,它不会在内部触发。 – Sydwell 2012-09-28 17:09:24

2

要回答你的第一个问题,不是不可能在变化事件本身中检测到在选择列表中导致变化的原因。

但是,如果有JavaScript代码更改选择列表,则可以在其中添加一些逻辑以执行此方案中所需的任务。