JQuery UI-Registerkarten: Wie navigiere ich direkt von einer anderen Seite zu einem Register?

8

JQuery UI-Registerkarten werden durch benannte Anker in einer ungeordneten Liste implementiert. Wenn Sie den Mauszeiger über eine der Registerkarten bewegen, sehen Sie dies im Link am Fuß des Browsers:

%Vor%

Oben wäre zum Beispiel die Registerkarte "Bestellungen". JQuery fängt offensichtlich den Klick auf diesen Anker ab und öffnet stattdessen die Registerkarte.

Wenn ich jedoch den obigen Link als Lesezeichen verwende oder von einer anderen Stelle auf der Website verlinke, wird die Seite nicht auf der entsprechenden Registerkarte geöffnet.

Im Initialisierungsblock der Registerkarte habe ich darüber nachgedacht, Code einzugeben, der nach einem benannten Anker in der URL sucht. Wenn er einen findet, führt er eine Indexsuche der Registerkarten durch und ruft die Auswahl darauf auf. Dies würde bedeuten, dass es immer noch mit ausgeschaltetem JS funktionieren wird.

Aber gibt es einen leichteren / besseren / besseren Weg?

    
Chris Simpson 31.03.2010, 17:06
quelle

4 Antworten

9

Dieses Beispiel fand hier :

%Vor%     
hunter 31.03.2010, 17:13
quelle
5

Ab Version 1.8 unterstützt jQuery UI diese Funktionalität. Siehe Beispiel hier:

  1. Zweites Register standardmäßig aktiviert
  2. Drittes Tab ist standardmäßig aktiviert
R0MANARMY 31.03.2010 17:22
quelle
3

In Versionen von jQuery UI vor 1.8 (nicht inklusive) ist das ziemlich so, wie Sie es tun müssten. Die Tab-Erweiterung (AFAIK) weiß nicht, basierend auf welchem ​​Anker sie initialisiert wird (wenn die Seite geladen wird), also müssen Sie dieses Bit manuell tun (natürlich im Ready-Ereignis).

Als eine andere Antwort gibt an, dass die neue Version der Registerkarten in jQuery UI 1.8 Lesezeichen aus der Box .

    
casperOne 31.03.2010 17:12
quelle
0

Ich verwende das Session-Plugin, um dies in einer benutzerdefinierten Tab-Klasse zu erreichen

    
Jason 08.04.2010 14:15
quelle