我在jQuery中使用SimpleModal,并且有一个确认对话框。如果结果为Yes
,则必须在此对话框中调用my.php
。但是,我已经完成了代码,并且仍在寻找想法。我该怎么做?
$(document).ready(function () {
$('#confirmDialog input.confirm, #confirmDialog a.confirm').click(function (e) {
e.preventDefault();
// Example of calling the confirm function.
// You must use a callback function to perform the "yes" action.
confirm("Continue", function () {
alert("OK");
});
});
});
function confirm(message, callback) {
$('#confirm').modal({
close:false,
position: ["20%",],
overlayId:'confirmModalOverlay',
containerId:'confirmModalContainer',
onShow: function (dialog) {
dialog.data.find('.message').append(message);
// If the user clicks "yes"
dialog.data.find('.yes').click(function () {
$.get('my.php', function(data){
// Create a modal dialog with the data.
// Here: How do I write the same window?
});
// Call the callback
// Close the dialog
$.modal.close();
});
}
});
}
在这里,我有一个问题,即如何从Ajax结果中将其写入同一窗口Confirmdialog。我该怎么做?
最佳答案
我不确定Confirm函数是否最适合您的需求,但类似的方法应该可以工作:
function confirm(message, callback) {
$('#confirm').modal({
close:false,
position: ["20%",],
overlayId:'confirmModalOverlay',
containerId:'confirmModalContainer',
onShow: function (dialog) {
dialog.data.find('.message').append(message);
// If the user clicks "yes"
dialog.data.find('.yes').click(function () {
$.get("my.php", function (data) {
/* Sample response:
* <div id="title">my title</div>
* <div id="message">my message</div>
*
*/
var resp = $("<div/>").append(data);
var title = resp.find("#title").html(),
message = resp.find("#message").html();
dialog.data.find(".header span").html(title);
dialog.data.find(".message").html(message);
dialog.data.find(".buttons .yes").hide();
dialog.data.find(".buttons .no").html("Close");
// No need to call the callback or $.modal.close()
});
});
}
});
}