我div
为一个对话框创建了一个并iframe
在div
.
我的问题是我无法关闭从iframe
带有 aspx 页面的按钮中单击按钮的对话框。
我尝试了下面的代码。如果我iframe
直接使用 a 作为对话框而不是 a ,它会起作用div
,但它会为调整大小/拖动对话框和iframe
.
window.parent.$('#divdialog').dialog('close');
欣赏此问题的可行解决方案。
谢谢大家..终于我得到了解决方案。
这是 iframe 中使用的代码:-
window.parent.CloseDialog();
这是父页面中使用的代码:-
var divdialog = $('#divdialog'); divdialog.dialog('destroy');
divdialog.dialog({
autoOpen: true,
height: 310,
width: 570,title: "Look Up",
modal: true,
open: function () {$('#testframe').attr("src", strValue);
$('#testframe').height($(this).height()-5); $('#testframe').width($(this).width()-10);
},
close: function (e) {
$('#divdialog').remove();
},
resizable: true,
resize: function() { $('#divdialog iframe').hide(); },
resizeStop: function() { $('#divdialog iframe').show();
$('#divdialog iframe').height($(this).height()-10);
$('#divdialog iframe').width($(this).width()-10); } ,
closeOnEscape:true,
draggable:true
})
function CloseDialog()
{
$('#divdialog').dialog('close'); return false;
}
当您尝试从 iframe 代码访问主页上的元素时,您需要window.top.document
在选择器上使用:
jQuery("#ElementID", window.top.document)
使用该参数,选择器将搜索包含 iframe 的页面,因此您可以关闭对话框。
你的代码将是:
$('#divdialog', window.top.document).dialog('close');
我建议您在对话框中添加一些按钮。
$( ".selector" ).dialog({
buttons: [ { text: "Ok", click: function() { $( this ).dialog( "close" ); } ]
});