Javascript / JQuery: обновить вкладку в родительском - PullRequest
2 голосов
/ 26 августа 2009

У меня есть (родительское) окно, содержащее вкладки JQuery:

 <div id="tabs"> 
      <ul class="tabHeader"> 
           <li><a href="?ctrl=doSomething" title="#tabs-something">
                  Awesome function</a></li> 
           <li><a href="?ctrl=showSettings" title="#tabs-showSettings">
                  Settings</a></li> 
      </ul>
 </div>

В # tabs-showSettings мне в некоторых случаях требуется новое окно, которое я открываю, используя следующий код:

window.open('?control=showSetting&server='+server,
    'serverSettings','width=400');

Это отлично работает. Но в этом окне мне требуется функция для отправки введенных данных (работает правильно), обновить div внутри родительского (не удается) и закрыть дочернее окно (работает). Вот что я попробовал:

// #1: the following would refresh the div within the child ;(
parent.$('div#tabs-showSettings').load('?control=showSettings');
// #2: the following doesn't seem to have any effect
window.opener.$('div#tabs-showSettings').load('?control=showSettings');

Пожалуйста, скажите мне, что я делаю не так. Большое, большое спасибо!

Решение:

$("div#tabs-showSettings", window.opener.document).load(
    "?control=showSettings", function(){
    window.close();
});

1 Ответ

1 голос
/ 26 августа 2009

Попробуйте родительский в качестве контекста:

$("div#tables-showSettings", window.opener.document)
  .load("?control=showSettings");

Обновление:

В некоторых комментариях ниже предлагалось закрыть окно после обновления - это должно быть обработано в обратном вызове:

$("div#tables-showSettings", window.opener.document)
  .load("?control=showSettings", function() { window.close(); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...