元の質問が投稿されたのはどれくらい前かを考えると、これを提案するのは少し遅いですが、これは私がしたことです。
私は70年の範囲を必要としていましたが、それは100年ほどではありませんが、訪問者がスクロールするにはまだ何年もかかります。(jQueryはグループで1年を段階的に実行しますが、それはほとんどの人にとってパトゥーティの苦痛です。)
最初のステップは、datepickerウィジェットのJavaScriptを変更することでした。jquery-ui.jsまたはjquery-ui-min.js(最小化される場所)でこのコードを見つけます。
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>";
そしてそれをこれに置き換えてください:
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>";
これは、数十年(現在を除く)をOPTGROUPタグで囲みます。
次に、これをCSSファイルに追加します。
.ui-datepicker OPTGROUP { font-weight:normal; }
.ui-datepicker OPTGROUP OPTION { display:none; text-align:right; }
.ui-datepicker OPTGROUP:hover OPTION { display:block; }
これにより、訪問者が基準年にマウスを合わせるまでの数十年が隠されます。訪問者は、任意の年数をすばやくスクロールできます。
これを自由に使用してください。コードに適切な帰属を付けてください。