2011-06-06 58 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'); 
相关问题