transmettre la requête valeur de chaîne à ouvrir l'onglet jquery correspondant à la page suivante
-
26-09-2019 - |
Question
J'ai un lien à la page 1 avec querystring href="page2.html?selected=1"
.
Ce que je veux quand je clique sur ce lien à la page 1, puis il devrait naviguer à la page 2.html et d'utiliser cette valeur queryString à onglet ouvert jquery particulier (à l'aide des onglets de jquery) ??
La fonction est suit comme:
$(function selectTab(indexId){
var activeTab = location.href;
var activeTabId = activeTab.substring(activeTab.lastIndexOf('=') + 1);
$('#tabs').tabs('select', indexId);
})
S'il vous plaît me dire comment puis-je résoudre ce problème ??
La solution
Vous pouvez le faire de cette façon, mais sont mélangés vos variables en place, il serait juste:
$(function selectTab(){
var activeTab = location.href;
var activeTabId = activeTab.substring(activeTab.lastIndexOf('=') + 1);
$('#tabs').tabs('select', activeTabId);
})
Cependant , il y a déjà un support intégré pour cela, il suffit d'utiliser une URL comme ceci:
page2.html?#tabPanelID
Par exemple, si l'onglet a un lien de href="#tab3"
qui va à un <div id="tab3">
alors votre URL serait page2.html#tab3
, consultez ce lien: http://jqueryui.com/demos/tabs/#tabs-3
Voyez comment il ouvre directement sur le troisième onglet dans la démo? c'est le comportement intégré.
Autres conseils
Essayez de cette façon ... Je sais que c'est un peu longue haleine, mais au moins vous pouvez voir chaque étape de la façon dont JS Tabs est mis en œuvre.
Ajoutez un témoin à votre chaîne une fois que les rechargements page ... Je l'ai fait tab222.
Ensuite, ID onglet contenu div i est ai fait # Tab_2
changer la balise href le menu ce que vous avez ...
$(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! Hope qui aide.