2011-05-17 55 views
1

你好這是我第一次使用對話框。這裏是我的代碼:當我使用對話框來顯示一個新頁面時,它只能使用一次並且總是在頁面中顯示相同的東西

 $("#dialog").dialog({ 
     autoOpen: false, 
     closeOnWscape: true, 
     show: "blind", 
     width: 800, 
     buttons: { 
      close: function() { 
       alert("close"); 
       $(this).dialog("close"); 

      } 
     } 

    }); 

    $('p#pp').click(function() { 

     //jQuery('#fpoint').dialog(); 
     //$("#dialog").load("Agrandir.aspx").dialog("open"); 
     //var tid = $("#Label1").text.toString(); 
     alert("open"); 
     //$("#fpoint").dialog("open"); 
     $("#dialog").load("Agrandir.aspx).dialog("open"); 
     // window.open("Agrandir.aspx"); 
    }) 

在對話框中會顯示一個新的頁面,在頁面中會顯示一個execl。在父頁面中有一個下拉列表,當按鈕單擊this.session [「id」]將獲得所選值的值時,Agrandir.aspx將使用該會話。然後點擊打開一個對話框。但是對話框總是顯示第一次創建的對話框。

+0

您是否在控制檯中發現錯誤,指出來自'load()'的AJAX調用失敗? – 2011-05-17 09:20:12

+1

也許加**緩存:false,**? – 2011-05-17 09:21:41

回答

2

將此腳本放置在您的頁面上以防止jQuery ajax調用緩存其響應。

$(function() { 
    $.ajaxSetup({ cache: false }); 
}); 

jquery.load()將緩存響應離不開它。

See this欲瞭解更多信息。

+0

+1瞭解我的想法! – 2011-05-17 09:40:32

+0

謝謝〜!這很好。但是仍然有一個問題,我在對話框上設置了一個按鈕。但它不起作用。然後我輸入「esc」關閉它,然後我無法再打開它。 – 2011-05-17 10:12:13

0

不確定爲什麼,但是您將關閉事件放在按鈕選項列表中,並且拼寫錯誤closeOnEscape。嘗試:

$("#dialog").dialog({ 
    autoOpen: false, 
    closeOnEscape: true, 
    show: "blind", 
    width: 800, 
    buttons: { 
     "Close": function() { 
      alert("close"); 
      $(this).dialog("close"); 

     } 
    } 

}); 
相關問題