2009-05-31 12 views
5

Ich habe eine Seite mit einem jqueryui Tabset darauf. Ich möchte die Seite mit einem anderen Tab als dem ersten ausgewählten Tab öffnen können. Wenn ich vier Registerkarten auf der Seite habe, muss ich in der Lage sein, eines der vier Registerkarten als "offen" auszuwählen.Öffnen der Seite mit vorheriger Auswahl der Registerkarte, die nicht die erste Registerkarte ist

Dies ist möglicherweise ein Link von einer anderen Seite oder ein Link von einer Seite im selben Frameset.

Unter der Decke ist alles PHP.

Antwort

3

Sie möchten eine Registerkarte beim erstmaligen Laden der Seite über JavaScript auswählen. Hier ist ein Beispiel dafür, wie eine Registerkarte auszuwählen:

http://docs.jquery.com/UI/API/1.7/Tabs#method-select

<script type="text/javascript"> 
    $(function() { 
    $("#tabs").tabs('select' , index) 
    }); 
</script> 

Wo die Indexvariable ist die ganze Zahl der Registerkarte, die Sie ausgewählt haben möchten. Es ist 0 basiert. Wenn Sie also die dritte Registerkarte auswählen möchten, sollten Sie 2 für den Index angeben.

Sie werden dies tun wollen, sobald die Seite fertig ist:

http://www.learningjquery.com/2006/09/introducing-document-ready

+0

Ehrfürchtig. Danke für die Antwort und danke für die zusätzlichen Ressourcen. – Jason

+0

Dies ist eine Möglichkeit, die gewünschte Registerkarte auszuwählen, wenn die Registerkarte bereits initialisiert ist. Wenn Sie einen bestimmten Tab in den Tabs erstellen möchten, sollten Sie die zweite Antwort von Simen Echholt verwenden. – dzona

1

Pre eine Auswahl der Registerkarte mit der selected Option erfolgen, wenn die Reiter zu initialisieren.

$("#tabs").tabs({ 
    selected: index //index of the tab to be preselected 
}); 

Ein Fall, in dem dies wichtig ist, ist, wenn die Registerkarte am Index 0 mit AJAX geladen ist. Wenn Sie die Registerkarten wie üblich initialisieren und dann mit der Methode select die ausgewählte Registerkarte ändern, wird zunächst eine AJAX-Anforderung gesendet, um Registerkarte 0 zu laden. Da Sie jedoch die andere Registerkarte sofort anzeigen möchten, ist diese Anforderung nicht erforderlich. Mit der Option selected können Sie diese Anfrage überspringen.

2

Die obigen Antworten sind mit der aktuellen Version von jQuery UI v1.10.0 nicht mehr gültig. Gemäß der jQuery UI API ist die Option jetzt aktiv und nicht mehr Wählen Sie.

Hier ist ein Link auf die API: http://api.jqueryui.com/tabs/#option-active

Initialisieren Sie die Registerkarten mit der aktiven Option angegeben:

$(".selector").tabs({ active: 1 }); 
1

fügen Sie einfach ui-tabs-selected Klasse bestimmt <li> Element.

jQuery wählt die Registerkarte durch aktivieren Pfad folgende

  1. ist selected Option gesetzt ist
  2. wenn nicht gesetzt ist, tut location.hash Matches jede Registerkarte hash von <a> Tag
  3. wenn keine Hashes, übereinstimmt alle <li> Element hat ui-tabs-selected Klasse
  4. wenn nicht versuchen, zuerst nicht deaktiviert (ui-state-disabled) Registerkarte
  5. zu wählen

Bit einer alten Frage. antwortete, da diese Seite die erste auf Google ist

+0

Mit der aktuellen jQuery-Benutzeroberfläche ist die Klasse jetzt "ui-tabs-active" und nicht mehr "ui-tabs-selected". – Parham

Verwandte Themen