2010-04-14 13 views
18

Ich habe die beiden folgenden Datepicker Objekte, aber ich kann nicht bekommen, was ich will, wie ich bin mit den minDate und MaxDate Optionen stecken zu bleiben:jQuery Datepicker MinDate, MaxDate

Dies ist die Termine zukünftige Termine zu beschränken .

Was ich will: beschränken Sie die Daten vom aktuellen Datum auf 30 Jahre Zeit.

Was ich bekomme: beschränken Sie die Daten vom aktuellen Datum auf 10 Jahre Zeit.

$(".datepickerFuture").datepicker({ 
    showOn: "button", 
    buttonImage: 'calendar.gif', 
    buttonText: 'Click to select a date', 
    duration:"fast", 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: 'dd/mm/yy', 
    constrainInput: true, 
    minDate: 0, 
    maxDate: '+30Y',  
     buttonImageOnly: true 
    }); 

Dies ist nur Vergangenheit Termine auswählen beschränken:

Was ich will: vor Zeit die Termine von aktuellem Datum auf 120 Jahren beschränken.

Was ich: Filterung die Termine von aktuellem Datum vor 120 Jahren Zeit, aber wenn ich ein Jahr das maximale Jahr wählen wird auf dem gewünschte Feld zurückgesetzt (zB, was ich bekommen würde, wenn Laden der Seite von frisch 1890- 2010, aber wenn ich 2000 das Jahr auswähle, wähle Auswahlkasten zurück zu 1880-2000).

Ich brauche Hilfe mit beiden Datepicker-Objekt, jede Hilfe würde sehr geschätzt werden.

Antwort

6

Ich reparierte mein Problem, das es die jquery Bibliotheken war aus ein bisschen waren Datum.

Wenn Sie an dieser Lösung interessiert sind, überprüfen Sie bitte here.

1

Die 30 Jahre sollte man gut funktionieren wie here gezeigt:

Für -120 Jahre Sie müssen nur die inverse tun here

+0

Für die 30, das ist, was Ich dachte, aber ich bekomme nur 10 Jahre. Für die -120 Jahre, was meinst du? Danke. – Amra

+0

Ich habe gerade '-120Y' für das minDate und 0 für das maxDate verwendet, wenn Sie auf die jsBin-Links schauen, können Sie den Code sehen, den ich verwendet habe –

+1

@Cesar - das Dropdown für Jahr wird basierend auf dem aktuellen Jahr ändern. Es scheint nur -10/+ 10 vom aktuellen Jahr zu zeigen, aber respektiert die Min/Max-Werte, die Sie liefern. Sehen Sie sich den Code für _generateMonthYearHeader in der jQuery-UI-js-Datei an. – tvanfosson

22
$("#datepick").datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      showOn: 'button', 
      buttonImage: 'images/calendar.gif', 
      buttonImageOnly: true, 
      dateFormat: 'dd/mm/yy', 
      minDate: '-100Y', 
    maxDate: '-1Y', 
    yearRange: '-100', 

     }); 
+0

+1 für yearRange mit min/max Datum. Ich wusste nicht, dass ich Date so einstellen kann. Danke vielmals! –

1

von aktuellem Datum anzuzeigen MaxDate zu 1 Jahr =: '+ 1J', vom aktuellen Datum anzuzeigen, bis zu 30 Tagen = MaxDate: '+ 30D',