2011-05-16 6 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 함수의 잘라 붙이기 복사본을 수동으로 "Delete"버튼에 추가 ...하지만 뭔가 깨끗한 것을 기대하고있었습니다.

답변

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

매우 고맙습니다 ... 완벽하게 작동했습니다. –

관련 문제