2010-08-23 168 views
0

我想在函數調用結束時關閉一個打開的對話框,並使用我當前的按鈕元素關閉對話框。這是打開對話框的代碼。它正在使用'.modal_btn'的'rel'屬性動態調用。它打開正如預期:jQuery UI關閉動態對話框......或者只是打開的對話框

modalDialog = function(dialogId){ 
     $(dialogId).dialog({ 
      modal: true, 
      draggable: false, 
      resizable: false, 
      width: 'auto', 
      open: function() { $(".ui-dialog-titlebar-close").hide(); } 
     }); 
    } 

    $('.modal_btn').live('click', function(){ 
     var dialogId = $(this).attr('rel'); 
     modalDialog(dialogId); 
    }); 

現在對話框打開我想用我目前的HTML元素的按鈕:一個取消和保存按鈕。保存按鈕執行ajax調用,在ajax調用完成後,我想關閉對話框。另外,我希望能夠通過點擊取消按鈕關閉打開的對話框。我似乎無法掌握這個簡單的功能......任何想法?

回答

2

$(dialogId).dialog('close');

編輯在迴應評論:

那麼,那麼如何呢。在您的modalDialog函數中,將類應用於對話框本身:$(dialogId).addClass('currently-open-dialog')

然後你點擊關閉功能可以做$('.currently-open-dialog').removeClass('currently-open-dialog').dialog('close');

+0

是啊,這是我的第一個念頭,但是dialogId不被關閉對話框按鈕的點擊定義......可以說,在類「.close_dialog_btn」 ...感謝反應快! – PropSoft 2010-08-23 21:59:58

+0

編輯一個可能的解決方案。 – Stuart 2010-08-23 22:03:41

+0

輝煌!愛創意斯圖爾特。謝謝! – PropSoft 2010-08-23 22:11:13

1

夫婦的辦法把文字上的按鈕:標準取消和文字。然而,相同的基本操作方法:

'Yes, Save and Exit': function() 
      { 
       callMyAjaxFuction(); 
       $(this).dialog('close'); 
          }, 
      Cancel: function() 
      { 
       $(this).dialog('close'); 
      }