JQuery вкладки загружает текущий URL во вкладке - PullRequest
1 голос
/ 22 августа 2010

Использование вкладок пользовательского интерфейса jQuery.Это мой код

<div id="tabs">
  <ul>
    <li><a href="#tabs-1">Find a Category</a></li>
    <li><a href="#tabs-2">Business Name</a></li>
    <li><a href="#tabs-3">All Categories</a></li>
    <li><a href="#tabs-4">Business to Business</a></li>
  </ul>
  <div style="clear:both;"></div>
  <div id="tabs-1"><p>Tab 1</p></div>
    <div id="tabs-2"><p>Tab 2</p></div>
    <div id="tabs-3"><p>Tab 3</p></div>
    <div id="tabs-4"><p>Tab 4</p></div>
    </div>
</div>

Инициирование вот так ...

$(function() {
    $('#tabs').tabs();
});

На некоторых страницах моего сайта это работает отлично.На других страницах к href="#tabs-x" добавляется путь к странице, например, <a href="#tabs-1">Find a Category</a> становится <a href="/page/path/#tabs-1">Find a Category</a> (в этом случае страница будет найдена в / page / path /.) Когда это происходит, она думает, что нужноиспользуйте Ajax и в конечном итоге перезагрузите страницу во вкладку.

Действительно странно то, что это происходит не на каждой странице (хотя это происходит на большинстве из них).Например,

http://cbpstage.eblairsolutions.net/online/all-categories/ - прекрасно работает http://cbpstage.eblairsolutions.net/online/business-to-business/ - не удается .

Я проверил страницы (они не идеальны, но терпят неудачу точно так же).Я сравнил их с помощью ультракомпара IDM.Это разные страницы, поэтому есть некоторые различия, но я не могу обнаружить ничего существенного, что заставляет href вести себя по-другому.

Я потратил на это весь день и имею только лысеющую голову, чтобы показать это.,Хотел бы, чтобы кто-то еще посмотрел на это.

Ответы [ 2 ]

0 голосов
/ 22 августа 2010

D Hoerster находится на правильном пути.Путь, кажется, пришел с сервера.Либо вы его отслеживаете, либо можете добавить следующий jQuery перед объявлением $('#tabs').tabs(...:

$('#tabs a').each(function(){
  $(this).attr('href',"#"+$(this).attr('href').split('#')[1]);
});

Редактировать: Добавлено "#"+

0 голосов
/ 22 августа 2010

Моя первоначальная внутренняя реакция заключается в том, что вы создаете вкладку DIV на лету. Я не знаю фоновый язык / платформу, но в ASP.NET вы можете сделать что-то подобное при создании ссылок URL:

~/#tab-1

и ~ будут интерпретироваться как преобразование в корневой каталог. Так что если ваша фактическая страница (не ваш маршрут) имеет глубину в несколько уровней, то ~ добавится на нескольких уровнях к этому HREF.

Я не говорю, что это именно то, что происходит, но это то, что, кажется, происходит. Изучите, как создается ваша вкладка DIV, как вы добавляете href в ваши <a> теги, и переходите оттуда. Если вы сможете обновить свой вопрос с помощью этой информации, я обновлю свой ответ соответствующим образом.

Надеюсь, это поможет!

...