2010-10-27 9 views
0

我有一个链接第1页与查询字符串href="page2.html?selected=1"通过查询字符串值打开相关的jquery选项卡上的内容页

我想要的是,当我点击这个链接第1页上,那么它应该定位到页面2.HTML并使用该查询字符串值,打开特定的jQuery选项卡(使用jquery标签)?

功能如下:

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

请告诉我,我怎样才能解决这个问题?

回答

1

你能做到这样,但你的变量是混合起来,这纯粹是:

$(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">一个链接,然后你的网址是page2.html#tab3,看看这个链接:http://jqueryui.com/demos/tabs/#tabs-3

看看它如何直接打开演示中的第三个标签?这是内置的行为。

+0

我想使用您的示例http://minth.amazyne.com/v-1.6/shortcode-tabs.html页面。但它不工作 – Learning 2017-01-05 08:27:14

+0

我刚刚尝试http://jqueryui.com/demos/tabs/#tabs-3第三个标签没有打开。第一个标签。 Chrome版本58.0.3089,Safari 10.0.2,Firefox 53.0.2,Opera 43.0.2442的结果相同 – DanAllen 2017-05-16 15:29:06

1

试试这个办法......我知道这人有点长篇大论,但至少你可以看到JS标签是如何实现的每一个阶段。

一旦页面重新加载,就向你的字符串添加一个指示符...我已经完成了tab222。

然后ID您的标签内容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!希望有所帮助。

相关问题