我正在使用jquery modal打开一个页面(示例来自父页面a.spx,iam打开子页面b.aspx。)
以下是代码
<script type="text/javascript">
$(function() {
$("[id$='lnkbtn']").click(function() {
var str = $(this).attr("details");
var page = ('../b.aspx?no=' + str);
var $dialog = $('<div></div>').html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>').dialog({ autoOpen: false, modal: true, height: 500, width: 900});
$dialog.dialog('open');
});
});
</script>
我想刷新我的父页面,当用户点击关闭按钮(X)上的模式弹出(即b.aspx)。
我通过以下链接,但我没有得到预期的操作。
以下是根据我的要求修改的代码。
<script type="text/javascript">
$(function() {
$('#dialog').dialog({
open: function() //runs every time this dialog is opened
{
//var $dialog = $(this);
var page = ('../../a/bc.aspx');
var $dialog = $('<div></div>').html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>').dialog({ autoOpen: false, modal: true, height: 650, width: 1000 });
if (!$dialog.data('titleCloseBound')) {
$dialog
.data('titleCloseBound', true) //flag as already bound
.closest('div.ui-dialog') //traverse up to the outer dialog wrapper
.find('a.ui-dialog-titlebar-close') //search within it for the X
.bind('click', function(e) //bind it
{
alert('hi');
e.preventDefault();
__doPostBack('', '');
});
}
}
});
});
发布于 2014-02-22 17:32:26
http://api.jqueryui.com/dialog/#event-close
$('#dialog').dialog({
close: function( event, ui ) {
__doPostBack('', '');
}
});
您的第二个代码是错误的,并使用misleading.try命令:
$(function() {
$("[id$='lnkbtn']").click(function() {
var str = $(this).attr("details");
var page = ('../b.aspx?no=' + str);
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
modal: true,
height: 500,
width: 900,
close:function(){
window.location.reload();//or your __doPostBack()
}
});
});
});
https://stackoverflow.com/questions/21951591
复制相似问题