由於JQM 1.4已改變了一些小工具,才能使用「對話」窗口小部件,有2個選項:jQuery Mobile的1.4關閉對話框編程
- 數據角色=「頁面」數據對話框=「真「
- 數據的rel =」彈出」
我使用的是第一種方式,所以,當用戶點擊‘OK’我的對話框的按鈕,我更新數據庫,如果一切正常,我想關閉對話框。
正如JQM doc中提到的,我嘗試過使用$(".selector").dialog("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");
}
});
});
有什麼不對?由於
UPDATE
我已經在我的打開按鈕使用data-rel="back"
和刪除$('#manage-page').dialog('close');
你的代碼被包裝在'$(文件)。就緒();'? – Oliboy50
是的。它通常運行良好(這是整個項目的一小部分) – Hugo
http://stackoverflow.com/questions/13520139/jquery-ui-dialog-cannot-call-methods-on-dialog-prior-to-initialization – Oliboy50