2011-12-20 178 views
0

我正在調用一個jquery模式對話框,其中有一個保存按鈕。保存按鈕反過來會進行ajax調用,並在成功時用OK按鈕顯示「Data Saved!」警報框。非常好。顯示警告框後自動關閉jquery模式對話框

現在在「數據保存」警告框關閉後,我想自動關閉先前調用的模式對話框。有沒有人做過類似這樣的事情?

$("#addFriendButton").click(function() { 

     $("#addNewFriend").dialog({ 
      title: 'Add a new friend.', 
      height:'auto', 
      width:'auto', 
      modal: true 
     }); 


    }); 
    //end addFriendButton 

    $("#saveNewFriendButton").click(function() { 

     $.ajax({ 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      url: "/api/bb/apiV1/addFriend", 
      data: formToJSON(), 
         dataType: "json", 
      success: function(responseDTO){ 

         displayOKAlertBox(responseDTO.responseMessage); 

      } 
     }); 


    }); 

    function displayOKAlertBox(message){ 

     $("#alertMsg").html(message); 

     $("#alertbox").dialog({ 
      modal: true, 
      buttons: { 
       Ok: function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 

    } 

回答

1

嘗試以下操作:

$("#alertbox").dialog({ 
     modal: true, 
     buttons: { 
      Ok: function() { 
       $('.ui-dialog').dialog('close'); 
      } 
     } 
}); 
+0

它的工作。所有對話框關閉。 – cherit

0

請嘗試以下

$("#saveNewFriendButton").click(function() { 

    $.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "/api/bb/apiV1/addFriend", 
     data: formToJSON(), 
        dataType: "json", 
     success: function(responseDTO){ 

        displayOKAlertBox(responseDTO.responseMessage); 
        $("#alertbox").dialog("close"); 

     } 
    }); 


}); 

我認爲這將做到這一點,但也許我錯了!

+0

我想關閉的對話框是 - > $(「#addNewFriend」).dialog 而不是$(「#alertbox」).dialog – cherit

+0

是比粘貼它。 –