2

div为一个对话框创建了一个并iframediv.

我的问题是我无法关闭从iframe带有 aspx 页面的按钮中单击按钮的对话框。

我尝试了下面的代码。如果我iframe直接使用 a 作为对话框而不是 a ,它会起作用div,但它会为调整大小/拖动对话框和iframe.

window.parent.$('#divdialog').dialog('close');

欣赏此问题的可行解决方案。

4

3 回答 3

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;
}
于 2012-12-24T07:22:16.090 回答
0

当您尝试从 iframe 代码访问主页上的元素时,您需要window.top.document在选择器上使用:

jQuery("#ElementID", window.top.document)

使用该参数,选择器将搜索包含 iframe 的页面,因此您可以关闭对话框。

你的代码将是:

$('#divdialog', window.top.document).dialog('close');
于 2012-12-23T18:02:52.920 回答
0

我建议您在对话框中添加一些按钮。

$( ".selector" ).dialog({ 
buttons: [ { text: "Ok", click: function() { $( this ).dialog( "close" ); } ] 
});
于 2012-12-23T18:04:21.753 回答