2010-02-17 9 views
5

Ich versuche, den jQueryUI Dialog zu verwenden, um Benutzerbestätigung vor einer Datenbankaktualisierung zu bekommen, aber ich kämpfe, um zu sehen, wie der Benutzer die Wahl im Dialog treffen kann, da alle in Samples, die ich finden kann, beide Tasten Schließen Sie einfach den Dialog, ohne dass die ausgewählte Schaltfläche beibehalten wird. Z.B. von der jQueryUI Probe und docs:Wie verwende ich einen jQueryUI Dialog zur Bestätigung?

  buttons: { 
       'Deactivate the campaign': function() { 
        $(this).dialog('close'); 
       }, 
       Cancel: function() { 
        $(this).dialog("close"); 
       } 
      } 

Antwort

3

Sie die gleiche Funktion ($ (this) .dialog ('close');) fordert beiden Tasten. Sie müssen etwas mehr tun, als nur den Dialog zu schließen. Sie können einen versteckten Bereich aktualisieren, um zu übergeben, auf welche Schaltfläche geklickt wurde, oder von dort aus einfach das DB-Update aufrufen.

buttons: { 
     'Deactivate the campaign': function() { 
      //pass the value using a hidden span 
      $('#myHiddenControl').val('True'); 

      //or just call the db update 
      $.ajax({/* db call code ommited*/}); 

      $(this).dialog('close'); 
     }, 
     Cancel: function() { 
      //pass the value using a hidden span 
      $('#myHiddenControl').val('False'); 
      $(this).dialog("close"); 
     } 
} 
+0

Oder Sie können AJAX verwenden, um die Informationen an den Server zu senden. – Ikke

+1

Daher die $ .ajax() ... – ctrlShiftBryan

+0

Danke @ CtrlShiftBryan. Ich rate mal, dass ich den gleichen Code für beide Buttons verwendet habe, aber das tun sogar die offiziellen Samples. Ich denke, der Stand der Open-Source-Dokumentation spielt hier eine Rolle. – ProfK

Verwandte Themen