Bu, orijinal sorunun ne kadar süre önce yayınlandığı göz önüne alındığında, bunu önermek için biraz geç, ancak bu yaptım.
Ziyaretçinin dolaşabilmesi için 100 kadar olmasa da 70 yıl aralığa ihtiyacım vardı. (jQuery gruplar halinde adım adım ilerler, ancak bu çoğu insan için patootede bir ağrıdır.)
İlk adım, tarih seçici widget'ının JavaScript'ini değiştirmekti: Bu kodu jquery-ui.js veya jquery-ui-min.js (burada simge durumuna küçültülecek) olarak bulun:
for (a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+
a.id+"', this, 'Y');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+a.id+"');\">";b<=g;b++)
a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";
a.yearshtml+="</select>";
Ve bununla değiştirin:
a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+y+
".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');
\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+a.id+"');
\">";
for(opg=-1;b<=g;b++) {
a.yearshtml+=((b%10)==0 || opg==-1 ?
(opg==1 ? (opg=0, '</optgroup>') : '')+
(b<(g-10) ? (opg=1, '<optgroup label="'+b+' >">') : '') : '')+
'<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";
}
a.yearshtml+="</select>";
Bu OPTGROUP etiketleri ile onlarca yıl (akım hariç) çevreliyor.
Ardından, bunu CSS dosyanıza ekleyin:
.ui-datepicker OPTGROUP { font-weight:normal; }
.ui-datepicker OPTGROUP OPTION { display:none; text-align:right; }
.ui-datepicker OPTGROUP:hover OPTION { display:block; }
Bu, ziyaretçi temel yıl boyunca fareler alana dek onlarca yıl gizlenir. Ziyaretçiniz istediğiniz sayıda yıl içinde hızlı bir şekilde gezinebilir.
Bunu kullanmaktan çekinmeyin; lütfen kodunuza uygun atıfta bulunun.