이것은 원래 질문이 얼마나 오래 게시되었는지를 감안할 때 이것을 제안하는 데 약간 늦었지만 이것이 내가 한 일입니다.
나는 70 년의 범위가 필요했지만, 100 년은 아니지만 방문자가 스크롤하기에는 여전히 너무 많은 년입니다. (jQuery는 그룹 단위로 단계적으로 진행되지만, 대부분의 사람들이 파투시에 어려움을 겪고 있습니다.)
첫 번째 단계는 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; }
이것은 1 년 동안 방문자 마우스가 나타날 때까지 수십 년을 숨 깁니다. 방문자는 몇 년 동안 빠르게 스크롤 할 수 있습니다.
이것을 자유롭게 사용하십시오. 코드에 적절한 속성을 부여하십시오.