我为对话框创建了div
,并在iframe
内加载了div
。
我的问题是我无法通过aspx页面点击iframe
内的按钮来关闭对话框。
我尝试了下面的代码。如果我直接使用iframe
作为对话框而不是div
,它会起作用,但它会为调整大小/拖动对话框和iframe
创建其他问题。
window.parent.$('#divdialog').dialog('close');
为此问题感谢可行的解决方案。
答案 0 :(得分:2)
谢谢你们..最后我得到了解决方案。
以下是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;
}
答案 1 :(得分:0)
当您尝试从iframe代码访问主页上的元素时,您需要使用选择器上的window.top.document
:
jQuery("#ElementID", window.top.document)
使用该参数,选择器将搜索包含iframe的页面,因此您可以关闭对话框。
,您的代码将是:
$('#divdialog', window.top.document).dialog('close');
答案 2 :(得分:0)
我建议您在对话框中添加一些按钮。
$( ".selector" ).dialog({
buttons: [ { text: "Ok", click: function() { $( this ).dialog( "close" ); } ]
});