
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(…) 或置于