2011-06-06 11 views
7

私のようなスクリプトを経由して、ダイアログのためのHTMLを挿入:どのように私はプログラム的にダイアログを開くことができ、上記のjquery mobile alpha 4でプログラムでダイアログを開く方法は?

success: function(msg) { 
$('#chk').html(msg) 
// open dialog here 
// $('#chk').dialog('open') does not work 
} 

:私はAJAXの成功コールバックで、その後

$("#misc-cntr").append('<div id="chk" data-rel="dialog" > </div>'); 

答えて

10

あなたは、それまでの線に沿って何かのページを変更する必要があります:あなたはjavascriptを経由してダイアログを閉じたい場合は、あなたが必要と

$.mobile.changePage($('#chk'), 'pop', false, true); 

を:

$('#chk').dialog('close'); 

お役に立てれば。

+1

あなたの先端には、ダイアログ・ショーアップを作るのを助けたが、ダイアログがポップアップし、一瞬のために現れ、その後消えます。この問題の原因は不明です。 – ace

+0

もう少し多くのコードを投稿したり、それをJSFiddleに投げて、何が起こっているのかを確認することはできますか? –

2

これは私が使ったものです。非常に汚いですが、ポップアップページの代わりに実際のダイアログを使用します。

DIV:

<div data-role="page" id="score" data-theme="d" data-transition="pop" /> 

のjQueryコード:

var a = $('<a />').attr({ 
    href: '#score', 
    "data-rel": 'dialog' 
}).click(); 
1

changePage関数は2番目の引数としてオブジェクトをとります。その中で、物事を役割と変遷として指定することができます。あなたの場合、役割を「ダイアログ」に設定する必要があります。

0
$.mobile.changePage($('#mydialog'),{'transition':'pop'}); 

OR

$.mobile.changePage($('#mydialog'),'pop'); 
関連する問題