jQuery 中的 change 事件失效原因及解决方案

9次阅读

jQuery 中的 change 事件失效原因及解决方案

jquery 的 `change` 事件不会触发,通常是因为 `

在 Web 表单交互开发中,$(‘#selector’).on(‘change’, …) 是监听下拉框值变更的常用方式。但该事件有一个关键前提:必须存在至少两个可选的。否则,浏览器认为没有“变化”,事件自然不会触发。

例如,以下 html 将导致 change 事件完全静默:

即使你为该

✅ 正确写法应确保:

  • 至少包含两个及以上
  • (推荐)添加一个占位提示项(如 disabled selected),明确引导用户主动选择:

对应 javaScript 保持简洁有效:

$('#firstSelect').on('change', function() {   const selectedValue = $(this).val(); // 更简洁:直接用 .val() 获取当前选中值   console.log("已选择:", selectedValue);   alert(selectedValue); });

⚠️ 注意事项:

  • 不必使用 $(this).find(‘:selected’).val() —— 对
  • 确保 jquery 脚本在 DOM 加载完成后执行(推荐将代码包裹在 $(document).ready(…) 或置于

text=ZqhQzanResources