[jQueryMobile 错误]cannot call methods on selectmenu prior to initialization

维护老项目中使用了 jQueryMobile,项目初始化后,因为需要动态修改下拉框 select 里的 option 的顺序或者动态增删改,结果修改完后,执行 $('#my-select').selectmenu('refresh', true); 就直接报 cannot call methods on selectmenu prior to initialization 错误

解决方案:

在更改完 option 后,如果需要更新到下接框,不能直接执行 $('#my-select').selectmenu('refresh', true); 因为,此时的 Dom 结构已经发生了变化,需要重新初始化 select 后再执行更新。代码如下:

$('#my-select').selectmenu().selectmenu('refresh', true); // 先初始化 select 后再执行更新

参考引用:https://www.iteye.com/blog/gteam-yu-1139179