时间选择控件datepicker.js增加月和年过滤
datepicker控件提供onrender函数接口,让用户可以选择哪个时间日期可以被选择。
$('#date').fdatepicker({
onRender: function (date) {
return date.valueOf() > new Date().valueOf() ? 'disabled' : '';
}
})
如果datepicker仅作为月份选择或者年份选择时,onrender接口就没有作用了
可以修改datepicker.js文件,在渲染Year和Month时,增加接口,让用户HTML代码可以确定年份和月份规则
增加onRenderYear(year)和onRenderMonth(year, month)接口
this.onRender = options.onRender || function () { };
this.onRenderYear = options.onRenderYear || function () { return ""; };
this.onRenderMonth = options.onRenderMonth || function () { return ""; };
修改渲染年份代码
for (var i = -1; i < 11; i++) {
// html += '<span class="year' + (i == -1 || i == 10 ? ' old' : '') + (currentYear == year ? ' active' : '') + (year < startYear || year > endYear ? ' disabled' : '') + '">' + year + '</span>';
html += '<span class="year' + (i == -1 || i == 10 ? ' old' : '') + (currentYear == year ? ' active' : '') + " " + this.onRenderYear(year) + '">' + year + '</span>';
year += 1;
}
yearCont.html(html);
修改渲染月份代码
while (i < 12) {
var cls = "month " + this.onRenderMonth(year, i);
html += '<span class="' + cls + '">' + dates[this.language].monthsShort[i++] + '</span>';
}
this.picker.find('.datepicker-months td').html(html);