当JavaScript执行更改时,jQuery捕获下拉列表的更改事件

时间:2012-09-18 15:55:32

标签: javascript jquery html-select jquery-1.7

我希望能够使用jQuery检测下拉列表的选定值何时发生了变化。下拉列表的选定值由其他JavaScript更改,因此我希望能够捕获此事件。

我可以看到下拉列表更改,但以下代码无法正确捕获事件。 change事件仅在用户而非其他代码执行时捕获事件吗?

$('select[name=b_country]').live('change', function() {
    alert('the country dropdown has changed');
});

<select name="b_country" style="display: block;">

1 个答案:

答案 0 :(得分:2)

是的,只有用户互动会触发事件。否则,您将无法在不进入无限循环的情况下(重新)在侦听器中设置值。

如果要通知其他(侦听)脚本您更改了值,可以手动触发事件。使用jQuery,这很容易:

$('select[name=b_country]').val(…).change();