2013-04-04 7 views
2

J'ai un dialogue jQuery un iFrame est ajouté à la boîte de dialogue lors de son ouverture. comment fermer cette boîte de dialogue wen un bouton (bouton présent en HTML de iFrame) est cliqué.Comment fermer la boîte de dialogue jQuery lorsque vous cliquez sur un bouton dans iFrame?

J'ai essayé de contenu à l'intérieur iFrame à l'aide contents() mais ce que je recevais est [object object]

Beaucoup de gens ont déjà dit que nous ne pouvons pas accéder au contenu de domaine croix, ici aucun autre domaine concerné du tout.

+0

Même question ici avec la réponse. http://stackoverflow.com/questions/4392146/close-jquery-ui-dialog-from-iframe –

Répondre

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

C'est résout le problème ..

+1

Que faire si un IFrame est un domaine croisé? –

0

essayer cette

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

ou sur délégué

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

merci de votre aide ... j'ai utilisé window.parent. $ ("# DialogDiv"). Dialog ('close '); maintenant son fonctionnement est lisse –

1

Voici deux façons.

De l'intérieur du iframe lui-même:

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

depuis votre page de base:

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

merci de votre aide ... j'ai utilisé window.parent. $ ("# dialogDiv"). dialog ('close'); maintenant son fonctionnement lisse –

-1

Voici une solution simple et éprouvée :

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

Cette ligne de code peut ressembler à une boîte de dialogue fermée, mais le masquer à partir de l'interface utilisateur est ** ne pas se fermer **. Il se peut qu'un événement soit associé à la boîte de dialogue ** onClose **. –

Questions connexes