[英]How display a dialog use javascript only on Jquery mobile 1.4
[英]JQuery Mobile 1.4 Close dialog programmatically
由於JQM 1.4更改了一些小部件,為了使用“對話”小部件,有2個選項:
我使用的是第一種方法,因此當用戶單擊對話框的“確定”按鈕時,我會更新數據庫,如果一切正常,我想關閉對話框。
如JQM文檔中所述,我已經嘗試使用$( ".selector" ).dialog( "close" )
但是它引發了Uncaught Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'
Uncaught Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'
。 一些示例代碼:
對話框HTML
<div id="manage-page" data-role="page" data-dialog="true" data-corners="false" data-close-btn="right" data-overlay-theme="b">
<div data-role="header">
<h1>Manage</h1>
</div>
<div data-role="content">
<h3>Title</h3>
<input type="text" id="title" value=""/>
<a href="#" id="saveTitle" data-role="button">Save</a>
</div>
</div>
對話JS
$(document).on('click', '#saveTitle', function(){
var title= $('#title').val();
$.ajax({
type: "POST",
url: CUSTOM_URL,
success: function(data) {
if(data != -1)
$('#manage-page').dialog('close');
else
// Some stuff
},
error: function() {
console.log("ERROR saving title");
}
});
});
怎么了? 謝謝
更新
我已經解決了在打開按鈕中使用data-rel="back"
並刪除$('#manage-page').dialog('close');
我重現了錯誤。 對話框代碼可以,但是您必須修復用於打開對話框的方式。 您必須添加選項:
$.mobile.changePage(domain() + '/private/manageDialog', {role:"dialog"});
或添加data-rel
屬性:
<a href="#manage-page" data-rel="dialog">Open dialog</a>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.