Đây là một chút vào cuối ngày cho thấy điều này, đưa ra câu hỏi ban đầu được đăng trong bao lâu, nhưng đây là những gì tôi đã làm.
Tôi cần khoảng 70 năm, trong đó không quá 100, vẫn còn quá nhiều năm để khách truy cập cuộn qua. (jQuery thực hiện từng năm theo nhóm, nhưng đó là nỗi đau trong patootie đối với hầu hết mọi người.)
Bước đầu tiên là sửa đổi JavaScript cho tiện ích con datepicker: Tìm mã này trong jquery-ui.js hoặc jquery -ui-minjs (nơi mà nó sẽ được giảm thiểu):
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>";
Và thay thế nó với điều này:
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>";
này bao quanh những thập kỷ (trừ hiện hành) với các thẻ OPTGROUP.
Tiếp theo, thêm video này vào file CSS của bạn:
.ui-datepicker OPTGROUP { font-weight:normal; }
.ui-datepicker OPTGROUP OPTION { display:none; text-align:right; }
.ui-datepicker OPTGROUP:hover OPTION { display:block; }
này ẩn những thập kỷ cho đến khi chuột người truy cập so với năm cơ sở. Khách truy cập của bạn có thể cuộn qua bất kỳ số năm nào một cách nhanh chóng.
Hãy sử dụng tính năng này; chỉ cần đưa ra phân bổ phù hợp trong mã của bạn.
@dmaij: Nếu chỉ nhìn lướt qua tài liệu API sẽ không trả lời được ... Nhưng có, hình ảnh thật đáng yêu ... :-) –
@TJCrowder Có một quy tắc cho câu hỏi giống như thế này . Và thực sự, tìm kiếm trong các tài liệu api có thể đã tiết kiệm thời gian để tạo ra hình ảnh .. – dmaij
@ T.J.Crowder Điều tốt là có một API. Nhưng tôi chỉ googled "jquery datepicker năm phạm vi" và tìm thấy điều này. Trả lời câu hỏi của tôi sau 10 giây. Nhanh hơn sau đó sử dụng API. –