geben Query-String-Wert zu öffnen relevant jquery Registerkarte auf der nächsten Seite
-
26-09-2019 - |
Frage
ich habe einen Link auf Seite 1 mit Abfragezeichen href="page2.html?selected=1"
.
Was ich will, ist, wenn ich auf diesen Link auf Seite klicken 1 dann sollte es auf Seite 2.html navigieren und benutzen Sie diesen Abfragezeichenfolgeflag Wert auf offene insbesondere jquery Registerkarte (jquery Tabs) ??
Die Funktion ist wie folgt:
$(function selectTab(indexId){
var activeTab = location.href;
var activeTabId = activeTab.substring(activeTab.lastIndexOf('=') + 1);
$('#tabs').tabs('select', indexId);
})
Bitte sagen Sie mir, wie kann ich dieses Problem beheben ??
Lösung
Sie können es auf diese Weise tun, aber Ihre Variablen sind gemischt, wäre es nur sein:
$(function selectTab(){
var activeTab = location.href;
var activeTabId = activeTab.substring(activeTab.lastIndexOf('=') + 1);
$('#tabs').tabs('select', activeTabId);
})
Jedoch , gibt es bereits eine integrierte Unterstützung für diese, benutzen Sie einfach eine URL wie folgt aus:
page2.html?#tabPanelID
Zum Beispiel, wenn die Registerkarte hat einen Link von href="#tab3"
, die dann zu einem <div id="tab3">
geht Ihre URL page2.html#tab3
wäre, diesen Link finden Sie unter: http://jqueryui.com/demos/tabs/#tabs-3
Sehen Sie, wie es direkt auf die dritte Registerkarte in der Demo öffnet? Das ist das eingebaute im Verhalten.
Andere Tipps
Versuchen Sie, diese Art und Weise ... Ich weiß, es ist ein bisschen langatmig, aber zumindest kann man jede Stufe von sehen, wie JS Tabs umgesetzt wird.
Fügen Sie eine verräterische auf Zeichenfolge, sobald die Seite neu geladen ... I done tab222 haben.
Dann ID Ihre Registerkarte Inhalt div ist i # tab_2
getan habenden href Menü-Tag ändern, was du hast ...
$(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! Ich hoffe, das hilft.