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

标签 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;">

最佳答案

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

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

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

关于javascript - 当 JavaScript 执行更改时,jQuery 捕获下拉列表的更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12480649/

相关文章:

javascript - 在 Angular 4 中验证电话号码和国家/地区代码组合以进行电话号码验证?

javascript - Moment.js : getting translated text for the terms "day", "hour"、 "second"和 "minute"

jquery - 让具有类别的对象在循环中随机出现/消失

javascript - 当无法提供文件时如何显示用户友好的错误消息

jquery - 使用 jQuery 在页面加载时选择一个选项,并应用 onChange 事件

javascript - IE10、11 带连字符的 CDATA 解析错误

javascript - Sublime text 2 php高亮显示

javascript - 如何将 Jquery/Ajax 与 asp.net MVC 4 结合使用,并使用部分 View 和模型操作

php - 从 MySQL 数据库预填充下拉列表和文本区域时出现问题

php - 使用来自 sql 的数据创建下拉列表并在调用 post 时保持选中的选项卡