2016-09-23 14 views
0

Ich habe Probleme zu verstehen, wie man das min/max Date des jquery Datepicker einstellt. Wenn ich die docs überprüfe, sehe ich, dass die dateformat in new Date(2009, 1 - 1, 26) erwartet wird. Was bedeutet 1-1? Wenn ich w3c Schulen für js dateformats überprüfe, kann ich dieses nicht finden.Set min/max Date von jquery Datepicker

Also habe ich versucht

$("#datepicker").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: 'yyyy-mm', 
    minDate: new Date(2001-01), 
    maxDate: '+15Y' 
}); 

Aber das läßt mich mit völlig zufälligen Ergebnissen ... Es beginnt 2006 und endet 2026.

Hier Geige http://jsfiddle.net/ANF2y/58/

enter image description here

+0

In JavaScript [ 'Date'] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date) Objekt' month' berechnet als 0 bis 11. Um den Monat einzustellen, verwende 'aktueller Monat - 1'. – Pugazh

+0

@Pugazh ok. Aber warum wird das ** Startdatum ** als "1-1" implementiert ?! – Stophface

+0

@Stofface sein Monat und nicht Datum. 'neues Datum (Jahr, Monat, Datum)' – Rajesh

Antwort

1

In JavaScript month wird von 0 bis 11 berechnet. Also beim Erstellen eines neuen Datums verwenden aktueller Monat - 1.

1 - 1 entspricht 0. Das ist also ein gültiger Monat (0 - January).

In Ihrem Fall minDate wie unten eingestellt.

$("#datepicker").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    minDate: new Date(2001, 0, 1), 
    maxDate: '+15Y', 
    dateFormat: 'yyyy-mm' 
}); 

, die wegen der Kommissionierer jquery Datum nur 15 Stück zu einer Zeit zeigt, gibt es kein max Datum festgelegt, so dass Sie so weit in die Zukunft gehen, wie Sie möchten. Wenn es auf 2001 eingestellt ist, sehen Sie 2006 im Dropdown, da es auf 15 Elemente beschränkt ist. Wählen Sie 2006 und dann im Drop-down-Menü "2001". Ist Ihre Frage kann ich mehr Elemente in der Dropdown-Liste Jahr zeigen?

+0

Dieser: http://jsfiddle.net/ANF2y/60/ beginnt um 2001 auf Ihrem Computer? Hier beginnt es 2006 und endet 2026 ... – Stophface

+0

Es ist ein Fehler mit jQuery [Datepicker] (http://api.jqueryui.com/datepicker/). Aber du kannst die vorherigen Monate mit den Pfeilen auswählen :-( – Pugazh

+0

Ich werde den Fehler dem Entwickler/jQuery-Forum melden !! – Pugazh

1

Ich werde nicht in minDate oder maxDate gehen, wie das gut abgedeckt wurde. Aber zusätzlich, was Sie suchen, ist yearRange wird die Anzahl der sichtbaren Elemente im Jahr Dropdown der jquery Datumsauswahl festlegen.

In der Dokumentation:

Die Palette der Jahre im Jahr Drop-down angezeigt: entweder relativ zum Jahr heute ("-nn: + nn"), bezogen auf das aktuell ausgewählte Jahr ("c -nn: c + nn "), absolut (" nnnn: nnnn ") oder Kombinationen dieser Formate (" nnnn: -nn "). Beachten Sie, dass diese Option nur Auswirkungen darauf hat, was in der Dropdownliste angezeigt wird.

Reference