2013-08-29 88 views
0

我有一個jquery對話框,打開地圖。一旦地圖關閉,頁面刷新。這工作正常。我的問題是如何讓它更有效率。我希望刷新下面的頁面,並且當用戶選擇另一個對話框相應地更新信息的鏈接時。我正在使用reload(),但頁面上的某些資源非常大,需要一點時間來重新加載整個頁面。頁面刷新下jQuery對話框

這裏是我的對話框:

function openBox(v) { 
    $("#mapDiv").dialog({ 
     autoOpen: false, 
     height: 600, 
     width: 900, 
     title: "Deomographic Profile", 
     close: function (ev, ui) { window.location.reload() } 

    }); 

    //open dialog and show the legend in the dialog 
    $("#mapDiv").dialog("open"); 
    $("#legend").show(); 
}//end open box 
+0

只更新那些可以通過對話框操作使用ajax請求而不是重新加載整個頁面的內容 – Vijay

回答

0

您可以查看您的網頁,決定需要什麼它的部分被刷新時,地圖將關閉並附加標識的那些元素。然後,您可以在每次地圖關閉時調用AJAX方法,以獲取需要從服務器刷新的信息並將這些元素填充到信息中。

0

然後,您可能會想考慮使用Ajax請參閱doc:http://api.jquery.com/jQuery.ajax/它允許您在不刷新的情況下更改頁面的某些部分。如果你不關心Internet Explorer,你可以改變URL的值而不用刷新這些:https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history讓你有機會擁有一個「歷史」而不真正改變頁面。如果你需要更多的幫助問我,我會給你一些提示

+0

只是試圖window.location.back()我'我不喜歡這個應用程序。我確實相信ajax將成爲我們走的路線,但是我認識到正確的方向,因爲我是ajax的新手 –

+0

首先,當您加載ajax素材時,您不想重新加載所有資源(css ,js)。因此,在你的php文件中,無論你擁有這些文件,添加一個參數,如「if(!isset($ _ REQUEST ['ajax'])){// echo assets}」。然後試試這個:http://pastebin.com/gRAgxvgs這可能有點複雜,但有一個ajax示例($ .POST)。你可以使用所有的腳本,或只是採取你所需要的,我不在乎 – Bene

相關問題