[英]Return value of jquery UI dialog Box
您可以在許多帖子( Post 1 , Post2 )中找到解決方案,但他們的解決方案對我不起作用。
這是我編寫的普通jquery對話框。
$("#dialog").dialog({
autoOpen:false,
buttons:{
"ok":function(){
$(this).dialog("close");
return true;
},
"cancel":function(){
$(this).dialog("close"); return false;
}
}
});
我將用代碼打開對話框:
var returnVal=$("#dialog").dialog("open");
如果用戶點擊“取消”,我需要返回false
,如果用戶點擊“確定”,則返回true
。
var returnVal=$("#dialog").dialog("open");
我需要returnVal
返回boolean
值(true / false),但它返回javascript object
。
您無法從確定/取消功能返回任何內容,因為它們本質上是僅在單擊按鈕時處理的事件處理程序。
使用單獨的函數來處理結果:
$mydialog = $("#dialog").dialog({
autoOpen: false,
buttons: {
"ok": function() {
$(this).dialog("close");
processResult(true);
},
"cancel": function() {
$(this).dialog("close");
processResult(false);
}
}
});
$mydialog.dialog("open");
function processResult(result) {
alert(result);
}
工作示例: http : //jsfiddle.net/nz2dH/
我已經實現了Yes / No確認對話框,其中包含自定義消息和回調函數。 如果您想為各種目的使用相同的對話框,這很有用。
<script type="text/javascript">
// prepare dialog
$(function () {
$("#confirm-message-dialog").dialog({
autoOpen: false,
modal: true,
closeOnEscape: false,
buttons: {
Yes: function () {
$(this).dialog("close");
$(this).data("callback")(true);
},
No: function () {
$(this).dialog("close");
$(this).data("callback")(false);
}
}
});
});
// open dialog with message and callback function
function confirmMessageDialog (message, callback) {
$('#confirm-message-dialog-message').text(message);
$('#confirm-message-dialog').data("callback", callback).dialog("open");
};
</script>
<!-- The dialog content -->
<div id="confirm-message-dialog" title="Warning">
<p id="confirm-message-dialog-message"></p>
</div>
希望這也有助於其他人:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.