2012-09-27 14 views
13

Eventuali duplicati:
Yes or No confirm box using jQueryJQuery confermare dialogo

Vedo un sacco di esempi qui circa sostituzioni per finestra di conferma di serie jQuerys ma non capisco nessuno di loro.

Se voglio aprire una finestra di dialogo di conferma usando jQuery o jQueryUI. Come posso farlo e recuperare il pulsante su cui l'utente ha fatto clic?

Sicuramente ci deve essere un modo semplice per impostare una finestra di conferma come un comando alert("Something!");.

Aggiungere due pulsanti ad esso e impostare una funzione di richiamata su yes o no?

+0

Potresti fornirci un link a uno di questi esempi? –

+2

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

+0

Ho provato a modificarlo per soddisfare le mie esigenze ma non riesco a farlo funzionare – MayoMan

risposta

49

Provate questo

$('<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

potresti spiegare come chiamare doFunctionForYes se è in C#? – sjd

+0

C# non ha controllo qui, solo con JavaScript funziona – MaVRoSCy

13

È possibile utilizzare jQuery UI e fare qualcosa di simile 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

Ciao, Quando provo questo la stringa "Sei sicuro di questo" appare solo nel mio browser. Ho inserito il javascript che hai aggiunto nel mio metodo pronto per la pagina, ma non succede nulla quando clicco sul pulsante. – MayoMan

+0

@ user965895: hai provato il jsFiddle? Deve funzionare. Potresti, per favore, includere il tuo copione nella tua domanda in modo che possiamo controllare? – LeftyX

+0

@ user965895: Non dimenticare che devi includere script UI jQuery e CSS. – LeftyX

5

Hai provato a usare il official JQueryUI implementation (non solo jQuery):?

+3

Implementazione 'JQuery UI', JQuery come default non include l'interfaccia utente. – Dementic

+0

In effetti non è così. Ma trovare le librerie richieste non è né difficile né oneroso. – 5arx

Problemi correlati