Klonen von Datumsauswahl-Objekten [JQuery]

8

Ich habe ein Eingabefeld, das ich als datepicker durch eine CSS-Klasse definiere. Ich möchte nun dieses Eingabefeld klonen und es so haben, dass die geklonten Eingaben auch Datepicker sind.

Nachdem ich aus verschiedenen Quellen gelesen hatte, wurde mir klar, dass der folgende Code funktionieren sollte, aber nicht. Ich hatte gehofft, dass mir vielleicht jemand helfen könnte herauszufinden, was ich falsch mache:)

%Vor%

Und hier ist das Javascript:

%Vor%

Bisher ist das Eingabefeld dupliziert und wird nach der letzten Instanz eingefügt, aber der Datapicker funktioniert nicht. Ich habe versucht, die Klon-Funktion 'wahr' zu übergeben, aber es gab mir eine Fehlermeldung, dass inst nicht definiert wurde .

Jede Hilfe würde geschätzt werden:)

    
Gazillion 01.03.2010, 20:36
quelle

4 Antworten

14

Ändern Sie es zu diesem:

%Vor%     
David Morton 01.03.2010, 20:40
quelle
5

zu schlecht Ich kann die obige Antwort nicht mehr kommentieren, aber der Code ist immer noch falsch! Der Datepicker wird am geklonten Eingabeelement angezeigt, verwendet jedoch den ausgewählten Datumswert im ursprünglichen Eingabefeld und lässt das geklonte Eingabefeld leer. Vorschläge?

bearbeiten:

Mit dem folgenden Code wurde es für mich behoben ..

%Vor%

(Beachten Sie, dass ich einen Wrapper geklont habe und nur auf das Eingabefeld 'Datum' in diesem Wrapper abzielt)

Nach dem Entfernen der Klasse, wie oben vorgeschlagen, entferne ich auch die ID des geklonten Eingabeelements. Es ist das gleiche wie das Original, deshalb habe ich das ursprüngliche Eingabefeld mit dem ausgewählten Datum in der Datepicker-Box aktualisiert.

    
Sam Vloeberghs 25.01.2011 20:57
quelle
0

Ich habe die folgenden Änderungen vorgenommen und es funktioniert.

Vorher:

%Vor%

Nachher: ​​

%Vor%     
SamNg 16.01.2013 02:34
quelle
0

Das könnte etwas spät sein, aber alle obigen Vorschläge haben nicht funktioniert, ich habe eine einfache Lösung dafür gefunden.

Erstens, was verursacht das Problem: JQuery weist der Element-ID datepicker zu. Wenn Sie ein Element klonen, kann dieselbe ID auch geklont werden. was jQuery nicht mag. Möglicherweise erhalten Sie entweder den Null-Referenzfehler oder das dem ersten Eingabefeld zugewiesene Datum, unabhängig davon, auf welches Eingabefeld Sie klicken.

Lösung:

1) zerstöre datepicker 2) Weisen Sie allen Eingabefeldern neue eindeutige IDs zu 3) Zuweisen von Datumsauswahl für jeden Eingang

Stellen Sie sicher, dass Ihre Eingabe ungefähr so ​​lautet

%Vor%

Bevor du klonst, zerstöre datepicker

%Vor%

Fügen Sie nach dem Klonen auch diese Zeilen hinzu

%Vor%

und die Magie passiert

    
EGN 17.06.2013 17:35
quelle