jQuery Datepicker + Clone function
rizer90
- javascript
Hallo zusammen
Nun ich habe ein Date Inputfeld welches mit jQuery UI Datepicker angezeigt wird.
Das Datum kommt in diesem Format daher: yy-mm-dd.
Jedoch möchte ich die Anzeige als dd.mm.yy anzeigen, aber versenden als yy-mm-dd.
Habe da angefangen jedoch komme ich nicht weiter, eventuell kann mir jemand helfen.
if (!Modernizr.inputtypes.date) {
jQuery('input[type=date]').each(function()) {
var original = $(this);
var copy = $(this).clone();
orginal.attr('type', 'hidden');
copy.attr('name', original.attr('name') + '_display');
copy.attr('id', original.attr('id') + '_display');
original.append(copy);
copy.datepicker({
altField: "#" + original.attr('id'),
altFormat: "dd.mm.yy"
});
});
}
Hallo,
Was mir auf die Schnelle auffällt:
original.append(copy);
Du kannst kein input-Element an ein input-Element hängen. Du kannst aber ein input-Element nach dem input-Element einfügen:
original.[link:http://api.jquery.com/after/@title=after](copy);
Mathias
Hallo,
Was mir auf die Schnelle auffällt:
original.append(copy);
Du kannst kein input-Element an ein input-Element hängen. Du kannst aber ein input-Element nach dem input-Element einfügen:
original.[link:http://api.jquery.com/after/@title=after](copy);
Mathias
Danke dir, bin aber leider noch nicht weiter gekommen... :(
Hallo,
Danke dir, bin aber leider noch nicht weiter gekommen... :(
Okay, und nun?
Ich schlage vor, dass du den Fehler genauer untersuchst und beschreibst.
Ferner:
Mathias
Ich schlage vor, dass du den Fehler genauer untersuchst und beschreibst.
- Was genau ist gewünscht
- Was tust du genau
- Was funktioniert
- Was funktioniert nicht
Anbei habe ich nun die Seite erstellt http://jsfiddle.net/rezix/8d8u9/
Ich möchte folgendes:
Das Formular muss das Datum in diesem Format versenden: yyyy-mm-dd.
Jedoch soll es im Inputfeld in diesem Format angezeigt werden: dd-mm-yyyy
Gruss
rizer90
Hallo,
Anbei habe ich nun die Seite erstellt http://jsfiddle.net/rezix/8d8u9/
Okay. Du hast meinen Hinweis mit append und after aber noch nicht beachtet.
Ferner musst du nicht immer $(original)
und $(copy)
schreiben, original
und copy
sind bereits jQuery-Objekte, daher gibt $(…)
sie unverändert zurück.
Mir scheint, es fehlt der wichtigste Part: Das versteckte Feld zu aktualisieren, wenn sich das sichtbare ändert. Das ist möglich, indem du den change-Event überwachst, den Wert der Kopie ausliest und dem Original zuweist.
Beispiel:
http://jsfiddle.net/8d8u9/1/
(Das Stylesheet von jQuery UI fehlt, und die Modernizr-Erkennung habe ich aus Testgründen herausgenommen.)
Mathias
Ferner musst du nicht immer
$(original)
und$(copy)
schreiben,original
undcopy
sind bereits jQuery-Objekte, daher gibt$(…)
sie unverändert zurück.Mir scheint, es fehlt der wichtigste Part: Das versteckte Feld zu aktualisieren, wenn sich das sichtbare ändert. Das ist möglich, indem du den change-Event überwachst, den Wert der Kopie ausliest und dem Original zuweist.
Beispiel:
http://jsfiddle.net/8d8u9/1/
(Das Stylesheet von jQuery UI fehlt, und die Modernizr-Erkennung habe ich aus Testgründen herausgenommen.)Mathias
Hallo Mathias
hat nun alles geklappt, danke für deine Unterstützung.
Gruss
Moin,
Nun ich habe ein Date Inputfeld welches mit jQuery UI Datepicker angezeigt wird.
gut.
Das Datum kommt in diesem Format daher: yy-mm-dd.
gut.
Jedoch möchte ich die Anzeige als dd.mm.yy anzeigen, aber versenden als yy-mm-dd.
schlecht.
Ein einziges Inputfeld kann sowas nicht. Das was man beim Input sieht wird auch an den Server geschickt. Du hast mehrere Optionen.
1. Entweder wandelst du den Inhalt vor dem Abschicken in dein gewünschtes Format um. Ergo fängst du das submit ab und änderst den Wert.
2. Oder du hast ein Feld zum anzeigen (dd.mm.YYYY - visible) und eins für die send Daten (hidden yy-mm-dd). Dabei brauchst du natürlich nur einen Datepicker auf das Sichtbare Feld. Ob du jetzt clone benutzen musst weiß ich nicht. Eventuell können beide Inputfelder von vornherein im html sein?
Gruß
tugal, Land, Nkreich, Schland
Ex