Ich habe einen jquery Datepicker, der die Wochennummer und einen Datumsbereich basierend auf dem ausgewählten Datum auswählt.

$("input").datepicker({
    onSelect: function(dateText, inst) {
        $(this).val("Week Number " + $.datepicker.iso8601Week(new Date(dateText)) + " • " + $.datepicker.formatDate('d M', new Date(dateText)) + " - " + $.datepicker.formatDate('d M yy', new Date(new Date(dateText).getTime() + 6*24*60*60*1000)));
    }
});

Das Problem besteht darin, dass durch Formatieren des Datums mit dieser Methode verhindert wird, dass der Datepicker standardmäßig das ausgewählte Datum verwendet, wenn Sie erneut auf die Eingabe klicken. Der Standardwert ist das aktuelle Datum.

Ich muss diese Methode aufgrund eines anderen Codes verwenden, den ich verwende (ich habe es vermieden, dies anzuzeigen, da es lang und für dieses Problem nicht relevant ist).

Irgendwelche Ideen, wie ich es auf das zuvor ausgewählte Datum zurücksetzen kann?

0
Tom 8 Okt. 2012 im 17:25

3 Antworten

Beste Antwort

Fügen Sie der Funktion, die für das Ereignis onSelect aufgerufen wird, die folgende Zeile hinzu

$.datepicker.setDefaults({"defaultDate":dateText});

Siehe http://jsfiddle.net/ELXGP/5/

1
halex 8 Okt. 2012 im 14:06

Sie können das Datum jederzeit "von Hand" einstellen, indem Sie Folgendes aufrufen:

.datepicker("setDate", defaultDate);

Methode. Aber vorher werfen Sie einen Blick auf die verschwendete Anzahl von Eigenschaften, die Sie auf den Datepicker einstellen können, vielleicht eine der wird Ihr Problem lösen.

1
Drejc 8 Okt. 2012 im 13:33

Sie können die Datumsauswahl auf ein anderes Textfeld anwenden und bei Auswahl des Datums den Inhalt Ihres Textfelds ändern.

1
chirag 8 Okt. 2012 im 13:38