后正确设置默认选中项
“> 后正确设置默认选中项
” />
本文详解为何在 ajax 异步加载下拉选项后 `$(‘#progress’).val(“xxx”)` 失效,并提供三种可靠、兼容性良好的解决方案,包括原生 js 和 jquery 写法,确保选中逻辑在 dom 更新完成后准确执行。
在 Web 开发中,动态渲染 下拉菜单并设置默认选中项是一个高频需求。但开发者常遇到一个典型问题:使用 AJAX 加载选项后,立即调用 $(‘#progress’).val(“Value to set”) 无法生效。根本原因在于:AJAX 是异步操作,val() 调用若写在 success 回调外部,会早于选项插入 DOM 的时机执行,此时目标值尚未存在,jQuery 无法匹配并选中。
✅ 正确做法:选中逻辑必须置于 success 回调内部
以下三种方案均确保 DOM 更新与选中操作同步完成,推荐按场景选用: