Legen Sie Jquery ui active tab beim Laden / Laden der Seite fest

8

Ich verwende eine grundlegende Implementierung von Jquery UI Tabs, die gut funktionieren, aber ich möchte die aktive Registerkarte dynamisch basierend auf einer Benutzeraktion festlegen (oder zurücksetzen).

  1. Wie kann ich die aktive Registerkarte basierend auf einem Querystring-Wert festlegen? Mit meiner vorherigen Tab-Lösung konnte ich einen Querystring-Wert übergeben und den aktiven Tab setzen, wenn die Seite geladen wurde. (Ich musste diese ältere Lösung aufgrund anderer technischer Herausforderungen aufgeben.)

  2. Wenn der Benutzer die Schaltfläche Speichern in meiner Browser-Anwendung auswählt und die Browser-Seite neu geladen wird, wie kann ich den Fokus auf die Registerkarte behalten, auf der sie sich befanden, bevor sie gespeichert haben?

  3. Wie kann ich die aktive Registerkarte festlegen, wenn ein Benutzer auf die Aufgabenseite meiner Browseranwendung zurückkehrt? Wenn beispielsweise alle Benutzer in meiner Webanwendung auf die Seite "Projekte" wechseln und dann zur Seite "Aufgaben" zurückkehren, wie kann ich die zuvor verwendete Registerkarte zurücksetzen?

Javascript:

%Vor%

HTML Beispielcode:

%Vor%     
user1405736 14.03.2013, 22:48
quelle

3 Antworten

13

Ich löste meine eigenen jQuery-Tab-Probleme nach zusätzlicher Recherche und Versuch und Irrtum. Hier ist ein funktionierendes Beispiel. Ich weiß nicht, ob das die eleganteste Lösung ist, aber es funktioniert. Ich hoffe, das hilft.

%Vor%

So habe ich jede meiner vorherigen Fragen beantwortet.

1. Wie kann ich die aktive Registerkarte basierend auf einem Querystring-Wert festlegen? Ich brauchte keine Querystring zu verwenden. Ich habe die # tabs-x am Ende meiner URL hinzugefügt. Zum Beispiel, wenn ich einen Link direkt zu Tab 3 wollte, habe ich einen Link wie folgt codiert:

%Vor%

2. Wenn der Benutzer die Schaltfläche "Speichern" in meiner Browseranwendung auswählt und die Browserseite neu lädt, wie kann ich den Fokus auf die Registerkarte beibehalten, auf der sie sich befanden, bevor sie Speichern gedrückt haben?

Ich habe das gelöst, indem ich das click -Ereignis erfasst habe, den aktuellen Tab-Index erhalten und dann ein verstecktes Formular-Element "currentTab" gesetzt habe, um den aktuellen Tab-Wert zu speichern. Dann habe ich im Java-Servlet die versteckten Formularelemente abgerufen und zurückgesetzt, wenn die Seite neu geladen wird.

%Vor%

3. Wie kann ich die aktive Registerkarte festlegen, wenn ein Benutzer auf die Projektseite meiner Browseranwendung zurückkehrt? Wenn beispielsweise alle Benutzer in meiner Webanwendung die Seite "Aufgabe" aufrufen und dann zur Seite "Projekt" zurückkehren, wie kann ich die zuvor verwendete Registerkarte zurücksetzen?

Dies wird gelöst, indem ich eine Sitzungsvariable in meinem Java-Servlet zum Speichern des versteckten Formularelements "currentTab" festlege. Auf diese Weise kann ich den Wert "currentTab" auf die gleiche Weise zurücksetzen, wie ich sie in der Aktion "Formulare speichern" eingestellt habe, wenn ich die Projektseite zurückgebe.

Ich hoffe, dieses Beispiel kann anderen mit ihren jQuery-Tab-Problemen helfen!

    
user1405736 21.03.2013, 14:07
quelle
0

jQuery UI Tabs können Optionen übernehmen. Besonders hilfreich für Ihre Fragen sind cookie und selected . Sie können über die Optionen hier nachlesen.

    
Erica Xu 14.03.2013 23:02
quelle
0
%Vor%

Hinweis: Wo Sel_tab ist verstecktes Feld. onclick auf Tabs achor link zuweisen Wert zu versteckten Feild

    
Prianca 18.02.2015 17:44
quelle

Tags und Links