我正在使用JQuery对话框并以下列方式在其中打开iframe
$('#div1').dialog("destroy");
if (criteria1== "L") {
$("#div1").html("<iframe id='dialogFrame1' src='../WebPages/abc.aspx' Height='100%' Width='100%' frameborder='0'></iframe>");
}
else {
$("#div1").html("<iframe id='dialogFrame2' src='../WebPages/abc1.aspx' Height='100%' Width='100%' frameborder='0'></iframe>");
}
$('#div1').dialog(
{
height: 220,
title: "Title",
width: 500,
modal: true,
beforeclose: function (event, ui) {
$("#div1").html("");
$("#div1")[0].innerHTML = "";
}
});
$('#div1').parent().appendTo($("form:first"));
$('#div1').dialog('open');
我第一次调用对话框(“打开”)时效果很好。但是,后续调用(没有页面刷新)显示2个对话框,1个是加载控件的正确对话框,另一个是空的活动对话框。
任何想法为什么?
答案 0 :(得分:1)
添加此选项
$('#div1').dialog("destroy");
criteria1="L";
if (criteria1== "L") {
$("#div1").html("<iframe id='dialogFrame1' src='../WebPages/abc.aspx' Height='100%' Width='100%' frameborder='0'></iframe>");
}
else {
$("#div1").html("<iframe id='dialogFrame2' src='../WebPages/abc1.aspx' Height='100%' Width='100%' frameborder='0'></iframe>");
}
$('#div1').dialog({
autoOpen: false,
height: 220,
title: "Title",
width: 500,
modal: true,
beforeclose: function (event, ui) {
$('#div1').html("");
$('#div1')[0].innerHTML = "";
}
});
$('#div1').dialog('open');
$('#div1').parent().appendTo($("form:first"));
答案 1 :(得分:0)
$('#div1').parent().appendTo($("form:first"));
我认为上面的代码复制了内容。更改并测试它。
答案 2 :(得分:0)
这段代码效果很好:在事件'beforeclose'中调用'destroy'。
function ShowAuditingPopup() {
$("#divAuditingContainer").dialog("destroy");
$("#divAuditingContainer").dialog({
title: 'Lịch sử thay đổi dữ liệu'
, autoOpen: true
, width: 'auto'
, autoOpen: true
, closeOnEsc: true
, modal: true
, open: function (type, data) {
$(this).parent().appendTo($("form:first"));
}
, beforeclose: function (event, ui) {
$("#divAuditingContainer").dialog("destroy");
}
});
$('#divAuditingContainer').dialog('open');
}