2011-05-16 9 views
12

Estoy tratando de agregar un nuevo botón a un cuadro de diálogo de IU de jquery basado en alguna entrada.¿Puedo agregar botones dinámicamente a un cuadro de diálogo de UI de Jquery?

Mi código es el siguiente:

function editTour(ID, myDate) { 
$.post("/Admin/EditTour", { TourID: ID }, 
     function (data) { 
      $('#EditTour').html(data); 
      $('#EditTour').dialog({ 
       modal: true, 
       width: 400, 
       resizable: false, 
       title: formatDate(myDate), 
       buttons: { 
        "Save": function() { 
         //some junk logic removed 
        }, 
        "Cancel": function() { 
         $(this).dialog("close"); 
        } 
       } 
      }); 

     }); //end post 
} 

Lo que yo quiero hacer en esta función es añadir un botón de "Borrar" si el ID pasado es 0.

Sé que sólo puede crear una copia de cortar y pegar de la función editTour para agregar manualmente en el botón "Eliminar" ... pero esperaba algo más limpio.

Respuesta

37

Pruebe esto, puede que le ayude.

function editTour(ID, myDate) { 
    $.post("/Admin/EditTour", { TourID: ID }, 
     function (data) { 
      $('#EditTour').html(data); 
      $('#EditTour').dialog({ 
       modal: true, 
       width: 400, 
       resizable: false, 
       title: formatDate(myDate) 
      }); 

      var myButtons = { 
       "Save": function() { 
        //some junk logic removed 
       }, 
       "Cancel": function() { 
        $(this).dialog("close"); 
       } 
      }; 

      if(ID == 0) { 
       myButtons["Delete"] = function() { 
        // Delete logic here. 
       } 
      } 

      $('#EditTour').dialog('option', 'buttons', myButtons); 
     } 
    ); //end post 
} 
+0

Muchas gracias ... ¡¡que funcionó a la perfección !! –

Cuestiones relacionadas