1

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

我可以看到下拉列表发生变化,但是以下代码未正确捕获事件。事件是否change仅在用户执行而不是其他代码时捕获事件?

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

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

1 回答 1

2

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

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

$('select[name=b_country]').val(…).change();
于 2012-09-18T16:01:16.980 回答