2010-04-14 15 views
18

ho due seguenti DatePicker oggetti, ma non riesco a ottenere ciò che voglio, come mi sto bloccato con le MinDate e MaxDate opzioni:jQuery datepicker MinDate, MaxDate

Questo è quello di limitare le date per le date future .

Quello che voglio: limiti le date dal data corrente a 30 anni di tempo.

Cosa ottengo: limitare le date dalla data corrente a 10 anni.

$(".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 
    }); 

Questo è quello di limitarsi a selezionare solo passato date:

Quello che voglio: limiti le date dalla data corrente a 120 anni fa il tempo.

Cosa ottengo: limiti le date dal data corrente a 120 anni fa il tempo, ma quando seleziono un anno l'anno massimo sarà ripristinare anno selezionato (per esempio, quello che vorrei ottenere quando la pagina di carico dal fresco è 1890- 2010, ma se si seleziona 2000 l'anno selezionare la casella di ripristino su 1880-2000).

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

ho bisogno di aiuto sia oggetto datepicker, qualsiasi aiuto sarebbe molto apprezzato.

risposta

6

ho risolto il mio problema, che è stata le librerie jQuery erano un po 'fuori Data.

Se qualcuno fosse interessato a questa soluzione, controllare here.

1

Gli +30 anni uno dovrebbe funzionare bene, come mostrato here:

Per -120 anni non vi resta che fare l'inverso here

+0

Per il 30, questo è quello che ho pensato, ma ho solo 10 anni. Per i -120 anni, cosa intendi? Grazie. – Amra

+0

Ho appena usato '-120Y' per minDate e 0 per maxDate, se guardi i link jsBin puoi vedere il codice che ho usato –

+1

@Cesar - il menu a discesa per anno cambierà in base all'anno corrente. Sembra mostrare solo -10/+ 10 dell'anno corrente, ma rispetta i valori min/max forniti. Guarda il codice per _generateMonthYearHeader nel file js dell'interfaccia utente jQuery. – 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 per annoRange con data min/max. Non sapevo di poter impostareDate in quel modo. Molte grazie! –

1

Per visualizzare dalla data corrente a 1 anno = MaxDate: '+ 1Y', Per visualizzare dalla data corrente a 30 giorni = MaxDate: '+ 30D',