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?
3 Antworten
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/
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.
Sie können die Datumsauswahl auf ein anderes Textfeld anwenden und bei Auswahl des Datums den Inhalt Ihres Textfelds ändern.