如何以编程方式在jquery mobile alpha 4中打开一个对话框?

时间:2011-06-06 23:59:15

标签: jquery-mobile

我通过以下脚本为对话框注入html:

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

然后在ajax成功回调中我有:

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

如上所述,我如何以编程方式打开对话框?

4 个答案:

答案 0 :(得分:10)

您需要将页面更改为以下内容:

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

如果您想通过javascript关闭对话框,则需要:

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

希望这会有所帮助。

答案 1 :(得分: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();

答案 2 :(得分:1)

changePage函数将对象作为第二个参数。在其中,您可以将事物指定为角色和过渡。对于您的情况,您需要将角色设置为“对话框”。

$.mobile.changePage( $('#chk'), { role: 'dialog', transition: 'slide'} );

答案 3 :(得分:0)

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

OR

$.mobile.changePage($('#mydialog'),'pop');