2011-05-16 21 views
12

Bazı girdilere bağlı olarak jquery UI iletişim kutusuna yeni bir düğme eklemeye çalışıyorum.Düğmeleri dinamik olarak Jquery UI İletişim Kutusuna ekleyebilir miyim?

Benim kod şöyle görünür:

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 
} 

Ne bu işlev yapmak istediğim ben sadece oluşturabilir biliyorum geçirilen kimlik 0.

ise bir düğme "Sil" ekleyin "Sil" düğmesine elle eklemek için editTour işlevinin bir kesme ve yapıştırma kopyası ... ama daha temiz bir şey olmasını umuyordum.

cevap

37

Bunu deneyin, size yardımcı olabilir.

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

Teşekkür ederim ÇOK çok ... bu mükemmel çalıştı! –

İlgili konular