我有一个JQuery UI模式:
$('#avatar-manager').click(function () {
$('#dialog').dialog('open');
return false;
});
$('#dialog').dialog({
autoOpen: false,
resizeable: false,
modal: true,
position: 'center',
width: 600,
open: function () {
$(this).load('/a/path/to/my/page.aspx');
}
});
它运作得非常好。 page.aspx
(示例名称)包含我的图片上传功能。我想要做的是完成上传,将用户重定向到另一个模式:
uploader.bind('FileUploaded', function (up, file, obj) {
alert("I've done uploading stuff...");
//redirect to another modal here...
});
我知道我不能使用windows.location
之类的东西,因为这会改变主父窗口,所以我不确定 - 或者即使我可以 - 这样做......
答案 0 :(得分:1)
您是否尝试过关闭当前对话框并打开另一个对话框?
$('#dialog2').dialog({
autoOpen: false;
modal: true
});
uploader.bind('FileUploaded', function (up, file, obj) {
$('#dialog').dialog('close');
$('#dialog2').html('Upload finished').dialog('open');
});
修改强>:
您可以通过多种方式参考对话框,具体取决于您的操作方式。如果您想要绝对参考,只需使用$('#dialog')
;如果你想要一个相对引用,你可以使用$.proxy()
,apply()
或call()
作为替换上下文传递对话框,这样你就可以使用$(this)
来引用到对话框。