Ajax 如何从javascript打开jQuery移动对话框?

Ajax 如何从javascript打开jQuery移动对话框?,ajax,post,dialog,popup,jquery-mobile,Ajax,Post,Dialog,Popup,Jquery Mobile,我有一个对话框页面,正在尝试打开它并显示来自AJAX帖子的结果 以下是我的jQuery成功事件: success: function(resp) { $("#dialog").dialog(); $("#text").html('SPAM and EGGS!') } 我的HTML有两个页面,第二个是HTML对话框: <div data-role="page" id="main"> # conte

我有一个对话框页面,正在尝试打开它并显示来自AJAX帖子的结果

以下是我的jQuery成功事件:

success: function(resp) {                               
  $("#dialog").dialog();
  $("#text").html('SPAM and EGGS!')
}       
我的HTML有两个页面,第二个是HTML对话框:

<div data-role="page" id="main">
  # content 
</div>
<div data-role="page" id="dialog">
  <div data-role="header">
    <h1>Your Message</h1>
  </div>    
  <div data-role="content" id="text">
  </div>    
</div>

#内容
你的信息
我的AJAX帖子正在运行,element id=“text”正在更新为“SPAM and EGGS!”,但对话框没有弹出。

Add

并替换
$(“#dialog”).dialog()在您的成功事件中使用

$(“#lnkDialog”)。单击()

我认为这一款更优雅:

$.mobile.changePage('#dialog', 'pop', true, true);
您的html
data role=“dialog”
中应该有,而不是
页面

<div data-role="dialog" id="dialog">...</div>
。。。

这个答案也适用于:

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

如果使用“对话框”或“弹出窗口”并不重要,请尝试以下操作:

$("#dialog").popup('open');

使用最新查询版本的正确方法

$.mobile.changePage("#dialog", { transition: "pop",role: "dialog" })

从JQM 1.4开始,
changePage
已被弃用,并将在1.5中删除 ()

他们建议使用
pagecontainer
change()
方法

$.mobile.pageContainer.pagecontainer("change", "#dialog", { transition: 'pop', role: "dialog" });

相关:也许可以尝试使用innerHTML,这可能会奏效。这绝对是一个更优雅的解决方案。只是试了一下,效果不错,对我没用。JQM在页面更改方面做了一些奇怪的事情,这会破坏“x”功能。被接受的解决方案实际上是有效的(只是把链接隐藏在某个地方)好东西,谢谢。此外,只要您的对话框具有您建议的正确的数据角色,这也可以工作。很好的跟进。mobile.navigate(“#对话框”);哇,真管用!比上述方法好得多!很好,官方文件没有告诉我:SHi CodefFormer,你能告诉我内容放在哪里吗?是$(“#lnkDialog”).html(someContent)吗?提前感谢,也很高兴为您编码:)不。
#lnkDialog
只是用来打开对话框的占位符。在本例中,您的内容将出现在
#dialog
中。
$(“#dialog”).popup()
$(“#对话框”)。弹出(“打开”)为我工作。太棒了,为我工作。我也试着这样做了一个小时!这是基于JQM文档的真正解决方案!