jquery change事件不生效的四大原因:一是select值未真正变化,需添加disabled selected占位项或确保多选项;二是绑定时机错误,须在dom就绪后执行;三是js修改val后未手动trigger('change');四是动态元素需用事件委托绑定。

jQuery change事件不生效,最常见的情况是用户点击下拉框却没有任何反应——控制台没日志、alert不弹出、UI也不更新,但代码语法完全正确,查了三遍DOM结构也没问题。
检查HTML结构是否满足触发前提
change事件只在“值真正发生变化”时触发,不是点一下就触发。如果
方法一:加一个禁用的占位项,强制用户做一次有效选择
【必须添加 value="" 且同时设置 disabled selected】,否则仍可能失效。
jQuery 1.12.4是jQuery 1.x系列的最后一个正式稳定版本,由jQuery团队于2016年发布。该版本主要面向需要兼容旧版浏览器环境的网站和Web应用,尤其适用于仍需支持Internet Explorer 6、Internet Explorer 7、Internet Explorer 8等老旧浏览器的项目。
方法二:确保至少有两个非重复 value 的选项,且初始不预设 selected(让第一个 option 自然成为默认,但要有第二个可选)
这一步操作起来很简单,直接把上面那段 HTML 替换掉原来的 select 就行。
确认事件绑定时机是否正确
第一步:把 jQuery 代码放到 $(document).ready() 里,或放在










