2012-04-23 108 views
0

我有一个Jquery Mobile应用程序,其中的页面需要显示MessageBox对话框以向用户显示消息。我得到的对话框显示正常,但当对话框关闭调用它重新加载的页面。我只想让对话框消失,而不是对调用它的主页面做任何事情。这是一个问题,因为这个主页面可能有用户已经选择的选项,并且此刷新将清除选项。JQuery Mobile:关闭对话框重新加载调用页面

这里是我的测试代码显示对话框:

<a href="/Dialogs/ListError.htm" data-role="button" data-inline="true" data-rel="dialog" data-transition="pop">Open dialog</a> 

该对话框中的HTML坐落在一个单独的页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<html> 
    <head> 
     <title>Page Title</title> 
    </head> 
    <body> 
     <div data-role="page"> 
       <div data-role="header"> 
        <h1>Search</h1> 
       </div> 
       <div data-role="content"> 
        <p>You must select a Location.</p> 
        <p><a id="close" onclick="$('.ui-dialog').dialog('close');" data-rel="dialog" data-role="button">OK</a></p> 
       </div> 
     </div> 
    </body> 
</html> 

如果它在所有的,我现在用的是VS2010 MVC Razor 3手机模板,使用_layout.cshtml文件,默认情况下为$.mobile.ajaxEnabled = false;

+0

我也试图改变$ .mobile.ajaxEnabled =假为真,以防万一,但它使没有不同。 – Walter 2012-04-23 19:45:26

回答

-1

尝试添加return false;到您的onclick

<a id="close" onclick="$('.ui-dialog').dialog('close'); return false;" data-rel="dialog" data-role="button">OK</a> 

否则默认链接动作不会被阻止

+0

感谢您的回应,但结果相同。调用页面仍然被重新加载。 – Walter 2012-04-23 19:40:12

相关问题