2011-09-18 175 views
0

我正在使用jQuery的最新版本。如何打開彈出窗口並刷新彈出窗口關閉時打開的頁面?

當這個按鈕被點擊:

<input id="ShowImages" class="" type="button" value="images"> 

此功能:

$("#ShowImages").click(function() { 
    $("#MusicianImagesDiv").load("MusicianImages.cfm?MusicianID="+MusicianID); 
}); 

的網頁加載到這個div:

<div id="MusicianImagesDiv" class=""></div> 

在該專區,點擊此按鈕時:

<input id="MusicianImageUploader" type="button" value="launch image uploader"> 

此功能彈出一個窗口:

$("#MusicianImageUploader").click(function() { 
    MyURL = "GlobalAdmin/MusicianUploader.cfm?MusicianID=" + MusicianID; 
    window.open (MyURL, "mywindow","location=0"); 
}); 

當「關閉窗口」按鈕,在彈出的窗口中按下:

<input id="CloseButton" type="button" value="close this window"> 

我想重新安裝特定DIV //不父頁面

$('#CloseButton').click(function() { 
    // to be clear, this code is in the pop up window 
    // the MusicianImagesDiv div is in the parent window 
    $("#MusicianImagesDiv").load("MusicianImages.cfm?MusicianID="+MusicianID); 
}); 

然後關閉彈出窗口。

除了點擊關閉按鈕時重新加載div,一切都可以完美運行。

我在做什麼錯?爲什麼關閉按鈕不能重新加載div?

下面是調整完美的代碼!

$('#CloseButton').click(function() { 
    var MusicianID = $("#MusicianID").val(); 
    var LoadPage = "GlobalAdmin/MusicianImages.cfm?MusicianID=" + MusicianID; 
    window.opener.$("#MusicianImagesDiv").load(LoadPage); 
    window.close(); 
}); 
+0

這不會工作 - 就像是closebutton在不同的頁面 - 不同的窗口我 – ManseUK

回答

1

您是否嘗試過訪問window.opener?這使您可以訪問父窗口。所以大致的代碼將

$('#CloseButton').click(function() { 
    window.opener.$("#MusicianImagesDiv") 
       .load("MusicianImages.cfm? MusicianID="+MusicianID); 
}); 
+0

Dood,你的代碼ROCKS !!!這工作絕對完美。感謝你的真棒。 –

0

它不會工作 - 因爲#closebutton是一個不同的窗口/ html頁面上 - 爲什麼它需要是打開一個新窗口 - 你爲什麼不能使用jQueryUI的對話框?這樣一切都在同一頁面,事件將得到處理

+0

得到了答案,我一直在尋找。感謝您的嘗試。 –

相關問題