Проблема в перезагрузке содержимого вкладки Ajax программно? - PullRequest
0 голосов
/ 11 августа 2011

Как я могу динамически устанавливать URL-адрес вкладки ajax jQuery во время выполнения ???

Вот так

$(function() {
    //$("#tabs").tabs();
    $("#tabs").tabs("url" , 0, "dep.php" );
});

HTML

<div class="flts">
    <div id="tabs">
        <ul>
            <li><a href="dep.php">Вылеты</a></li>
            <li><a href="arr.php">Посадка</a></li>
        </ul>
    </div>
</div>

но это не работает !! В чем может быть проблема ????

Ответы [ 2 ]

1 голос
/ 11 августа 2011

Ваш подход не выглядит правильным.Вызов $("#tabs").tabs("url" , 0, "dep.php") заключен в $(function() {, поэтому он запускается только при первой загрузке страницы.Это бессмысленно.Этот метод используется для последующей замены содержимого вкладки.

Правильный подход:

  • Страница должна содержать только ярлык с допустимой ссылкой, но без вкладкиcontent.

  • Когда страница загружается впервые, позвоните $("#tabs").tabs();, чтобы инициализировать и настроить виджет вкладки.

Теперь виджет вкладкиможно использовать, и содержимое вкладки загружается при первом отображении конкретной вкладки (отложенная загрузка).

  • Если вы хотите обновить или заменить вкладку позже (например, из обработчика событий), вызовите$("#tabs").tabs("url" , 0, "dep.php").

Таким образом, общее решение может выглядеть следующим образом:

<div class="flts">
  <div id="tabs">
    <ul>
      <li><a href="dep.php">Вылеты</a></li>
      <li><a href="arr.php">Посадка</a></li>
      </ul>
    </div>
</div>

$(function() {
    // intial tabs configuration
    $("#tabs").tabs();
    // event handler setup for refresh

    $('#refreshButton').click(function() {
      $("#tabs").tabs("url", 0, "dep.php?var=val&var2=val");
    });
});
0 голосов
/ 11 августа 2011

Похоже, вы пытаетесь сделать режим AJAX. Если это так, то вам нужно указать ajaxOptions. На этой странице приведен простой пример, который должен вам помочь.

...