2012-09-27 21 views
13

Duplicar posible:
Yes or No confirm box using jQueryjQuery confirmar diálogo

veo un montón de ejemplos aquí sobre reemplazos para jQuerys de diálogo de confirmación estándar, pero no entiendo nada de ellos.

Si quiero abrir un cuadro de diálogo de confirmación usando jQuery o jQueryUI. ¿Cómo puedo hacerlo y recuperar en qué botón hizo clic el usuario?

Seguramente debe haber una manera simple de configurar un diálogo de confirmación como un comando alert("Something!");.

¿Agregarle dos botones y establecer una función de devolución de llamada en yes o no?

+0

¿Podría proporcionarnos un enlace a uno de estos ejemplos? –

+2

http://stackoverflow.com/questions/3383546/jquery-confirmation-samples – MayoMan

+0

He intentado ajustar este para satisfacer mis necesidades pero no puedo hacerlo funcionar – MayoMan

Respuesta

49

Prueba este

$('<div></div>').appendTo('body') 
    .html('<div><h6>Yes or No?</h6></div>') 
    .dialog({ 
     modal: true, title: 'message', zIndex: 10000, autoOpen: true, 
     width: 'auto', resizable: false, 
     buttons: { 
      Yes: function() { 
       doFunctionForYes(); 
       $(this).dialog("close"); 
      }, 
      No: function() { 
       doFunctionForNo(); 
       $(this).dialog("close"); 
      } 
     }, 
     close: function (event, ui) { 
      $(this).remove(); 
     } 
}); 

Fiddle

+0

http://stackoverflow.com/a/18474005/1876355 – Pierre

+0

¿podría explicar cómo llamar a doFunctionForYes si está en C#? – sjd

+0

C# no tiene control aquí, solo que con JavaScript funciona – MaVRoSCy

13

Puede utilizar jQuery UI y hacer algo como this

HTML:

<button id="callConfirm">Confirm!</button> 

<div id="dialog" title="Confirmation Required"> 
  Are you sure about this? 
</div>​ 

Javascript:

$("#dialog").dialog({ 
    autoOpen: false, 
    modal: true, 
    buttons : { 
     "Confirm" : function() { 
      alert("You have confirmed!");    
     }, 
     "Cancel" : function() { 
      $(this).dialog("close"); 
     } 
     } 
    }); 

$("#callConfirm").on("click", function(e) { 
    e.preventDefault(); 
    $("#dialog").dialog("open"); 
}); 

+0

Hola, cuando pruebo esto, la cadena "¿Estás seguro de esto?" simplemente aparece en mi navegador. He puesto el javascript que ha agregado en mi método listo para la página, pero no sucede nada cuando hago clic en el botón. – MayoMan

+0

@ user965895: ¿has probado el jsFiddle? Debe funcionar. ¿Podría, por favor, incluir su script en su pregunta para que podamos verificar? – LeftyX

+0

@ user965895: No olvide que debe incluir scripts jQuery UI y CSS. – LeftyX

5

¿Ha intentado utilizar el official JQueryUI implementation (no jQuery solamente):?

+3

Implementación de 'JQuery UI', JQuery como valor predeterminado no incluye la interfaz de usuario. – Dementic

+0

De hecho, no es así. Pero encontrar las bibliotecas requeridas no es difícil ni oneroso. – 5arx

Cuestiones relacionadas