我通过以下脚本为对话框注入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
}
如上所述,我如何以编程方式打开对话框?
答案 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');