Ich habe ein einfaches HTML-Formular mit verschachtelten jQuery-Schritten.
Der Haupt-Assistent hat 5 Schritte und der 3. Schritt hat einen Unter-Assistenten mit 3 Schritten.
Wenn auf "Weiter" des Hauptassistenten geklickt wird, wird der Schritt verschoben und der Inhalt wird angezeigt, aber nach dem 3. Schritt (der mit Unterassistent) bewegt sich der Tab zum vierten, aber wenn der vierte Schritt erreicht wird, wird kein Inhalt angezeigt Ich deaktiviere das jQuery-Skript, das den Unterassistenten anzeigt, der vierte Hauptschritt zeigt den Inhalt an.
Ich habe verschiedene Foren ausprobiert und habe auch schon eine Weile damit begonnen, die jQuery Steps-Bibliothek zu debuggen, konnte aber den Grund nicht herausfinden.
Jede Hilfe ist willkommen.
Hier ist der Code, der auch ausführbar ist.
Probieren Sie dieses JSfiddle-Arbeitssample aus, das ich basierend auf der von @medievo in diesen Beitrag .
Offensichtlich besteht das Problem darin, dass der onStepChange
-Ereignishandler für main-wizard
nicht mehr aufgerufen wird, wenn sub-wizard
initialisiert und angezeigt wird. Ich kann zusätzliche Informationen nach dem Debuggen der Bibliothek bereitstellen. Wird Sie auf dem Laufenden halten.
Über die Lösung:
Nehmen wir an, wir haben zwei functions
, die main-wizard
und sub-wizard
initialisieren, indem wir jquery.steps
library verwenden.
Die Funktion für main-wizard
sieht folgendermaßen aus:
Beachten Sie, dass der onStepChanging
-Handler die sub-wizard
initialisiert und im ersten Aufruf anzeigt und nur in den nächsten Aufrufen angezeigt wird.
Beachten Sie auch, dass der onStepChanged
-Handler die Ansicht wechselt, indem er die previous-step view
ausblendet und die next-step view
anzeigt.
Die Funktion für sub-wizard
sieht folgendermaßen aus:
Beachten Sie, dass es eine if
-Anweisung gibt, um zu identifizieren, ob die sub-wizard
bereits initialisiert wurde oder nicht, indem Sie fragen, ob sie bereits wizard
class hat, die jquery.steps
hinzufügt. Falls es bereits initialisiert wurde, müssen wir nur show()
it.
Beachten Sie auch, dass der onFinished
-Handler das main-wizard
zur Fortsetzung mit next-step
macht.
Ich hoffe, dass dies hilft, Ihr Problem zu lösen.
BEARBEITEN:
Nach dem Überprüfen und Debuggen des Codes besteht das Problem darin, dass folgende jQuery
query (Zeile # 1196 von library) alle steps content
von main-wizard
und sub-wizard
abruft und den Übergang durchführt (aus dem Schritt, der die Unterassistent zum nächsten Schritt), um zwischen ihnen verwirrt zu werden.
Das Ändern dieser Zeile durch das folgende behebt das Problem. Es gibt jedoch einige andere Zeilen, die ähnliche Korrekturen benötigen.
%Vor%Beachten Sie außerdem, dass eine Pull-Anforderung aussteht, die genehmigt werden muss, um das Problem scheinbar zu beheben. Allerdings, IMHO, diese Pull-Anfrage ändert direkt die gebaute Datei aus der Bibliothek, und es wird wahrscheinlich nicht genehmigt werden.
EDIT 2:
Pull-Anforderung erstellt hier , um das Problem zu beheben, dass verschachtelte jquery.steps-Wizards
Tags und Links html jquery css jquery-steps