TL;DR : このフィドルは問題を示しています: http://jsfiddle.net/kRG95/1/
私の使用例では、これらの select 要素に ID を使用できません (複数回レンダリングされるテンプレートから取得されます)。classNames を使用すると、jQuery モバイルは選択を正しくレンダリングしません (二重ラップ)。
これに対する既知の回避策はありますか? Le Google は何も見せてくれませんでした。
完全を期すために、次のコードは機能しません。
$(".one, .two").selectmenu();
$(".two").selectmenu("disable");
$(".one").on("change", function(){
$(".two").selectmenu("enable");
});
$("body").trigger("create");
しかし、これらの classNames を id に変更すると、次のようになります。
$("#one, #two").selectmenu();
$("#two").selectmenu("disable");
$("#one").on("change", function(){
$("#two").selectmenu("enable");
});
$("body").trigger("create");
すべてが期待どおりに機能します。
特定のエラー(私が尋ねられたので):
Uncaught Error: cannot call methods on selectmenu prior to initialization; attempted to call method 'disable'