2011-05-08 30 views
6

Estoy haciendo una pequeña aplicación jquery. Necesito algunos cuadros de confirmación para aparecer. Sin embargo, no quiero tener que añadir un elemento al cuerpo solo para poder abrir un cuadro de diálogo. Hay alguna manera de evitar esto? ¿Simplemente llamar a un diálogo y pasar argumentos como el título y el texto y las opciones?¿Mostrando un diálogo modal con jquery ui sin un elemento?

Respuesta

14

Cuando crea un cuadro de diálogo de jQuery UI, las versiones actuales (1.8. *) automáticamente agregan el cuadro de diálogo al cuerpo.

Así que si lo hace:

$('<div>').dialog({modal: true}) 

simplemente funciona. Sin embargo, debe asegurarse de llamar al .remove() con el cuadro de diálogo cerrado para eliminar el nuevo elemento.

function myalert(title, text) { 
    var div = $('<div>').html(text).dialog({ 
     title: title, 
     modal: true, 
     close: function() { 
      $(this).dialog('destroy').remove(); 
     }, 
     buttons: [{ 
      text: "Ok", 
      click: function() { 
       $(this).dialog("close"); 
      }}] 
    }) 
}; 

myalert("Test", "This is a test modal dialog"); 

Ver http://jsfiddle.net/alnitak/G3GRZ/ para la demostración completa de trabajo.

4

Just Do It:

$('<div>My dialog text.</div>').dialog({ modal: true }); 
+0

que representa cómo poner el texto era muy bueno. –

Cuestiones relacionadas