2011-05-16 131 views
12

我想添加一個新的按鈕到一個jQuery UI的對話框基於一些輸入。我可以動態地將按鈕添加到Jquery UI對話框嗎?

我的代碼如下所示:

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 
} 

我想在這個功能做的就是添加一個「刪除」按鈕,如果傳入的ID爲0

我知道我可以只創建editTour函數的剪切和粘貼副本,以手動添加「刪除」按鈕...但我希望有更清潔的東西。

回答

37

試試這個,它可能會幫助你。

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

非常感謝你......完美的工作! – 2011-05-16 18:19:46