2012-03-01 3 views
0

У меня проблема с выпуском div в родительском окне. Мне нужно сделать это: после нажатия в box.html, который открывается из index.html, на div id = product1, в родительском окне (index.html) должен быть выпущен div id = wProdBox1. Как показать jquery/css для этого?Уведомление родительского окна из дочернего окна в jQuery

Это index.html

<div id="box1">Text</div> 

<div id="wBox1"> 
    <a href="#" class="hideLink">[X]</a> 
    <object id="objPage" name="foo" type="text/html" data="box.html"></object> 
</div> 

<div id="wProdBox1"> 
    <a href="#" class="hideLink">[X]</a> 
    <object id="objPage2" name="foo" type="text/html" data="box1.html"></object> 
</div> 

<script type="text/javascript"> 
    $("#box1").click(function() { 
    $("#wBox1").show("slow"); 
    $("body").addClass("scroll"); 
    }); 
</script> 

И это box.html

<div id="product1">Text box</div> 
<script type="text/javascript"> 
    $("#product1").click(function() { 
    $("#wProdBox1").show("slow"); //HERE IS PROBLEM 
    }); 
</script> 

ответ

0

JQuery позволяет передать ссылку окна после выбора:

$("#wProdBox1", window.opener.document).show("slow"); 

Я хотел бы упростить это за счет хранения window.opener.document в переменной:

$(function() { 
    var main = window.opener.document; 

    $("#product1").click(function() { 
     $("#wProdBox1", main).show("slow"); //HERE IS FIX 
    }); 
}) 
0

Если вы откроете box.html в новом окне и хотите изменить что-то в index.html, вы должны передать его на opener:

opener.$("#wProdBox1").show("slow"); 
Смежные вопросы