2010-02-17 23 views
5

Estoy tratando de usar el cuadro de diálogo jQueryUI para obtener la confirmación del usuario antes de una actualización de la base de datos, pero estoy luchando para ver cómo puedo decir cuál es la elección del usuario en el diálogo, como todos los ejemplos que puedo encontrar, ambos botones solo cierre el diálogo, sin persistencia del botón elegido. P.ej. de la muestra jQueryUI y documentos:¿Cómo uso un cuadro de diálogo jQueryUI para confirmación?

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

Respuesta

3

Su llamando a la misma función ($ (this) .dialog ('cerca');) para los dos botones. Debe hacer algo más que simplemente cerrar el diálogo. Puede actualizar un tramo oculto para pasar el botón en el que se hizo clic o simplemente llamar a la actualización de base de datos desde allí.

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

O puede utilizar AJAX para enviar la información al servidor. – Ikke

+1

Por lo tanto, $ .ajax() ... – ctrlShiftBryan

+0

Gracias @ctrlShiftBryan. Supongo que usé el mismo código para ambos botones, pero incluso las muestras oficiales lo hacen. Supongo que el estado de la documentación de código abierto está en juego aquí. – ProfK

Cuestiones relacionadas