2

divダイアログ ボックス用のを作成し、のiframe中に をロードしましたdiv

私の問題はiframe、aspx ページ内からボタンをクリックしてダイアログ ボックスを閉じることができないことです。

以下のコードを試しました。iframeの代わりに をダイアログ ボックスとして直接使用すると機能しますが、ダイアログ ボックス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 に答える