2013-04-04 2 views
2

У меня есть диалог jQuery, когда iFrame добавляется в диалог при его открытии. Как сделать закрыть В этом диалоговом окне нажата кнопка (кнопка, представленная в HTML-файле iFrame).Как закрыть диалог jQuery при нажатии кнопки внутри iFrame?

Я попытался получить содержимое внутри плавающего фрейма, используя contents() но то, что я получаю это [object object]

Многих людей уже говорили, что мы не можем доступ к содержимому перекрестного домена, здесь нет другого домена, участвующего на всех.

+0

Тот же вопрос здесь с ответом. http://stackoverflow.com/questions/4392146/close-jquery-ui-dialog-from-iframe –

ответ

2
window.parent.$("#dialogDiv").dialog('close'); 

Это решает проблему ..

+1

Что делать, если IFrame является кросс-доменом? –

0

попробовать этот

$("#yourIframeId").contents().find("#buttonId").click(function(){ 
    $("#dialogId").dialog("close"); 
}); 

или ВКЛЮЧЕНО делегата

$(document).on('click',"#buttonId",function(){ 
    $("#dialogId").dialog("close"); 
}); 
+0

спасибо за помощь ... я использовал window.parent. $ ("# DialogDiv"). Dialog ('close «); теперь его гладкая работа –

1

Здесь есть два пути.

Изнутри самого фрейма:

$('button#closeDialog').click(function(e){ 
    e.preventDefault(); 
    $('#dialog', top.document).dialog('close'); 
} 

Изнутри базовой страницы:

$('iframe').contents().find('button#closeDialog').click(function(e){ 
    e.preventDefault(); 
    $('#dialog).dialog('close'); 
} 
+0

спасибо за помощь ... я использовал window.parent. $ ("# dialogDiv"). dialog ('close'); теперь его гладкая работа –

-1

Вот простое и проверенное решение :

window.parent.jQuery('#popId').hide(); 
+0

Эта строка кода может выглядеть как закрытая диалоговая панель, но скрытие ее от пользовательского интерфейса ** не закрывается **, может быть связано событие для диалога ** onClose **. –

Смежные вопросы