передать значение строки запроса, чтобы открыть соответствующую вкладку jquery на следующей странице - PullRequest
0 голосов
/ 27 октября 2010

У меня есть ссылка на странице 1 с строкой запроса href="page2.html?selected=1".

Что я хочу, так это когда я нажимаю на эту ссылку на странице 1, она должна перейти на страницу 2.html и использовать это значение строки запроса, чтобы открыть определенную вкладку jquery (используя вкладки jquery) ??

Функция выглядит следующим образом:

$(function selectTab(indexId){
    var activeTab = location.href;
    var activeTabId = activeTab.substring(activeTab.lastIndexOf('=') + 1);
    $('#tabs').tabs('select', indexId);
})

Скажите, пожалуйста, как я могу решить эту проблему?

Ответы [ 2 ]

1 голос
/ 23 марта 2015

Попробуй так ... Я знаю, что это немного затянуто, но, по крайней мере, ты можешь видеть каждый этап реализации JS Tabs.

Добавить контрольную строку в свою строку после перезагрузки страницы ...Я сделал tab222.

Затем идентифицируйте ваши div с содержимым вкладки, которые я сделал # tab_2

измените тег меню href на то, что у вас есть ...

$(document).ready(function(){

  if (/tab222/.test(self.location.href)) {
    $('#p_tabs li').removeClass('active');
    $('#p_tabs li a[href="#tab_2"]').parent().addClass('active');
    $('#tab_one').removeClass('active');
    $('#tab_two').addClass('active');
  };

});

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

1 голос
/ 27 октября 2010

Вы можете сделать это таким образом, но ваши переменные перепутаны, это будет просто:

$(function selectTab(){
    var activeTab = location.href;
    var activeTabId = activeTab.substring(activeTab.lastIndexOf('=') + 1);
    $('#tabs').tabs('select', activeTabId);
})

Однако , для этого уже есть встроенная поддержка, просто используйте URL-адрес, подобный следующему:

page2.html?#tabPanelID

Например, если на вкладке есть ссылка href="#tab3", которая ведет на <div id="tab3">, тогда ваш URL будет page2.html#tab3, проверьте эту ссылку: http://jqueryui.com/demos/tabs/#tabs-3

Посмотрите, как он открывается прямо на третьей вкладке в демоверсии? это встроенное поведение.

...