horizontally - modal bootstrap jquery
Modal simple en jQuery (2)
Estoy usando SimpleModal en jQuery, y tengo un diálogo de confirmación. Si el resultado es Yes
, tengo que llamar a my.php
en este cuadro de diálogo. Sin embargo, he hecho el código, y todavía estoy buscando ideas. ¿Cómo puedo hacerlo?
$(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();
});
}
});
}
Aquí tengo el problema de cómo escribirlo en la misma ventana Confirmdialog de un resultado Ajax. ¿Cómo puedo hacerlo?
No estoy seguro de lo que intenta lograr: ¿está intentando reutilizar el diálogo modal de confirmación para mostrar sus resultados? Supongo que podría hacer esto, dado que tiene un botón "Cerrar X" en el diálogo simplemente reemplazando el contenido del mensaje con sus resultados y quitando los botones para que su devolución de llamada no se active nuevamente. Puede parecerse a esto:
dialog.data.find(''.message'').html( ''new contents from your ajax data'' );
dialog,data.find(''.buttons'').remove();
Sin embargo, esto parece un abuso de un diálogo modal para mí. En mi opinión, el diálogo solo debe contener una interacción única con el usuario. Si necesita más interacción basada en los resultados de su diálogo inicial, entonces consideraría agregar otro cuadro de diálogo modal que aparezca después de que se cierra el actual con sus resultados AJAX o insertar los resultados AJAX en su interfaz principal y manejarlo ahí.
No estoy seguro de que la función de confirmación se ajuste mejor a sus necesidades, pero algo así debería funcionar:
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()
});
});
}
});
}