JQuery Modal を使用して、フォームを含むポップアップを表示しています。コントロール パネルのすべてのドロップダウン ボックスは、通常は正常に動作する jquery プラグインを使用して変更されます。Javascript をモーダルで動作させるには、コールバックを実行する必要がありますが、奇妙な結果が得られます。
モーダルを開くと、選択が変更される直前にアラートを入力した場合にのみ、正しいドロップダウン ボックスが表示されます。
コールバック:
var myOpen = function(hash){
hash.w.css('opacity',1).show();
alert("test"); //This will make the selects change properly.
$('select').selectmenu();
};
モーダルオープン:
$('a#settings').click(function(){
var script = 'myLink.php';
$('#ex2').jqm({ajax: script, onShow: myOpen});
$('#ex2').jqmShow({modal: true});
});
アラートを追加するとJSが処理する時間が増えるため、これはモーダルをロードする時間と関係があると思いますが、これは奇妙に思えます。
何か不足していますか?
編集:アラートの「OK」ボタンを非常に速くクリックしても、選択は変更されません。これは、JSが処理する時間を許可するアラートの考えを確認します(それでも奇妙だと思いますが)。