我在jQuery中使用SimpleModal,并且有一个确认对话框。如果结果为Yes,则必须调用my.php此对话框。但是,我已经完成了代码,并且仍在寻找想法。我该怎么做?
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() }); }); } }); }