Bug Fixed: range anni sul calendario jQuery UI

Il widget calendario di jQuery UI, il cosiddetto Datepicker, permette moltissime impostazioni, tra cui quella di decidere un range di anni da mostrare nel menu a tendina. La scleta dell’anno, come quella del mese, va esplicitata durante l’impostazione del widget, come mostrato qui sotto:

1
2
3
4
5
$("#myCalendar").datepicker(
  { changeYear: true,
    changeMonth: true,
    yearRange: '1950:2000'
  });
jQuery UI Datapicker

jQuery UI Datapicker

Il problema è che così facendo il Datepicker mostra un baco apparentemente irrisolvibile (almeno cercando in rete). Aprendo il calendario e selezionando un giorno, senza toccare l’anno, la data restituita mostra l’anno sbagliato! Per la precisione mostra l’anno attuale! Per risolvero l’unico modo che ho trovato è stato quello di impostare il parametro defaultDate con un valore di -[anni] rispetto all’anno attuale, ovvero:

1
2
3
4
5
6
$("#myCalendar").datepicker(
  { changeYear: true,
    changeMonth: true,
    yearRange: '1950:2000',
   defaultDate: '-61y'
  });

Il parametro defaultDate, è estremamente versatile e permette moltpici combinazioni. Inserendo un semplice procedimento automatico al posto del mio '-61y', valido ovviamente solo per l’anno 2011, questo bug può essere perlomeno nascosto, in attesa di un fixing stabile e completo.

Un commento a: “ ”

  1. 30 ott, 2011 Alessio:

    Grazie, post molto utile… ci stavo diventando matto da due ore!

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre> // blocco generico
                   <code></code> // blocco generico
                   [cc_actionscript][/cc_actionscript] // Actionscript
                   [cc_actionscript3][/cc_actionscript3] // Actionscript 3
                   [cc_css][/cc_css] // CSS Style Sheet
                   [cc_html][/cc_html] // HTML
                   [cc_js][/cc_js] // Javascript
                   [cc_objc][/cc_objc] // Objective-C
                   [cc_php][/cc_objc] // PHP
                   [cc_sql][/cc_sql] // SQL