Esto es un poco tarde para sugerir esto, dado cuánto tiempo hace que se publicó la pregunta original, pero esto es lo que hice.
Necesitaba un rango de 70 años, que, aunque no tanto como 100, todavía son demasiados años para que el visitante se desplace. (jQuery avanza año tras año en grupos, pero eso es un dolor en la patootie para la mayoría de las personas).
El primer paso fue modificar el JavaScript para el widget datepicker: encuentre este código en jquery-ui.js o jquery-ui-min.js (donde se minimizará):
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>";
Y reemplazarlo con esto:
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>";
Esto rodea las décadas (excepto la actual) con etiquetas OPTGROUP.
A continuación, agregue esto a su archivo CSS:
.ui-datepicker OPTGROUP { font-weight:normal; }
.ui-datepicker OPTGROUP OPTION { display:none; text-align:right; }
.ui-datepicker OPTGROUP:hover OPTION { display:block; }
Esto oculta las décadas hasta que el visitante pasa el mouse durante el año base. Su visitante puede desplazarse rápidamente por cualquier cantidad de años.
Siéntase libre de usar esto; solo por favor dé la atribución adecuada en su código.