2011-09-18 142 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

得到了答案,我一直在寻找。感谢您的尝试。 –

相关问题