Verschiedene Datepicker für mehrere Felder

Hallo Halli,
ich selber kann php und html und mysql. Javascript kann ich nur sehr marginal.
Damit DB Abfragen funktionieren muss die Eingabe mnögichst fehlerfrei sein.
Zumindest wenn ich die Daten nicht als text behandle und dies weiter verwenden möchte.

Daher die Überlegung einen Datepicker zu nehmen:

   $(function() {
      $( „#xyz“ ).datepicker({
         defaultDate: „w+1“,
         changeMonth: true,
         numberOfMonths: 2,
         onClose: function( selectedDate ) {
            $( „#bis“ ).datepicker( „option“, „minDate“, selectedDate );
         }
      });
   });

Der Rest sitzt im jquery.

Das tuts wunderbar. Nun möchte ich aber mehrere Daten in einem Formular erfassen.
Bsp:
Hütte streichen:
Marvin: 12.07.2013
Klaudia: 20.07.13
Jacki: 21.07.13

usw.
Das Ganze wird an der id=„xyz“ festgemacht. Eine Idee ist nun, das Ganze durch zu nummerieren. Also id=„xyz1“ id=„xyz2“ id=„xyz3“ Aber dann müsste ich doch ein Zahl übergeben oder via for-Schleife… Aber irgendwie kriege ich  es nicht zum laufen. Nur dass sich dann allle Werte ändern.Schöne Feiertage + Danke für Denkanstöße!Oliver

Hallo Oliver,

du kannst auch anstatt der Id mit einem Selektor arbeiten, das Klassennamen enthält, z. B.:

   $(function() {
      $( „input.datum“ ).datepicker({
         defaultDate: „w+1“,
         changeMonth: true,
         numberOfMonths: 2,
         onClose: function( selectedDate ) {
            $( „#bis“ ).datepicker( „option“, „minDate“, selectedDate );
         }
      });
   });

Dann werden alle input-Elemente mit dem Attribut class=„datum“ vom Datepicker Plugin in ein Datepicker umgewandelt.

Du must nur schauen, wohin die Auswahl dann geschrieben werden soll, da sehe ich eine Funktion

         onClose: function( selectedDate ) {
            $( „#bis“ ).datepicker( „option“, „minDate“, selectedDate );
         }

und vermutlich sollte jede Auswahl in ein separates input-feld rein, nicht in das mit der id=„bis“.

Gruß
Murat

Hi Murat,
genau das ist der Haken. Es sollen ggfs. mehrere Daten erfasst werden, in einem Formular.
Und da hänge ich.
Ändere ich den Wert in einem Feld, werden alle geändert.
Gruß
Oliver

Hallo Oliver,

Ändere ich den Wert in einem Feld, werden alle geändert.

Ich habe das mit der ID „bis“ noch nicht ganz verstanden. Ansonsten sollte der Vorschlag von Murat doch funktionieren: http://jsfiddle.net/R6gBx/

Gruß
Heavy

Hi,
mit den Ids meinte ich einfach für x Daten x js-Funktionien zu generieren.
Also
id=„xyz1“

id=„xyz2“

id=„xyz3“ usw.

Nur dann habe ich da nachher 20x dieselbe js Funktion. Als Klasse. Ich probiers mal , nur ist es dann nicht wie bei css? Eine Klasse xyz und alle kriegen zb color =red?

mit den Ids meinte ich einfach für x Daten x js-Funktionien zu
generieren.
Also
id=„xyz1“

id=„xyz2“

id=„xyz3“ usw.

Ich habe die IDs in meinem verlinkten Beispiel ja entsprechend vergeben. Es reicht aber trotzdem eine JavaScript Funktion um die Datepicker über die Klasse zuzuweisen.

Nur dann habe ich da nachher 20x dieselbe js Funktion. Als Klasse. Ich probiers mal , nur ist es dann nicht wie bei css? Eine Klasse xyz und alle kriegen zb color =red?

Klassen sind eigentlich dafür gedacht, den Elemente CSS eigenschaften zuzuweisen. Man kann aber auch per JavaScript Elemente mit bestimmten Attributwerten ermitteln, das nutzt jquery um solche Elemente zu modifizieren. Um die unterschiedlichen Werte nach Absenden der Formulardaten auf dem Server auswerten zu können sind die „name“ Attribute entscheidend, id und class haben damit nichts zu tun.

HTH
Heavy

Danke euch allen. Ich habs nun gelöst. Es werden via php einfach ein Zählerangehängt.

Also …
$x++;
Gleiches im Javascript. Dann werden halt $x verschiedene js generiert.
OK Könnte man auch über eine Funktion lösen.
Das ist dann die Version 2.0 :wink: