2011-06-06 49 views
7

我通過類似的腳本注入的對話框HTML:如何以編程方式在jquery mobile alpha 4中打開對話框?

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

然後在阿賈克斯成功的回調,我有:

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

鑑於以上我怎麼能編程打開對話框?

回答

10

你需要的頁面改變它,沿着線的東西:

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

如果你想關閉通過JavaScript對話框,你將需要:

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

希望這可以幫助。

+1

你的提示有助於使對話框出現,但該對話框彈出,並顯示了一秒鐘的一小部分,然後消失。不知道是什麼導致這個問題。 – ace 2011-06-07 09:11:27

+0

你可以發佈多一點你的代碼,或者更好的方法是把它扔到一個JSFiddle中,這樣我們就可以看到發生了什麼? – 2011-06-07 20:04:49

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函數接受一個對象作爲第二個參數。在其中你可以指定事物作爲角色和轉換。對於你的情況,你需要將角色設置爲'對話'。

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

OR

$.mobile.changePage($('#mydialog'),'pop'); 
相關問題