在用户单击“下个月”或“上个月”后,我需要使用自定义 CSS 重新填充日期选择器。我正在点击 onChangeMonthYear 事件,但不知道用户要去哪条路(下个月或上个月)。有什么简单的内置东西可以给我这个吗?如果不是,最简单的解决方案是什么?
* 在此处添加代码以进行澄清请注意,事件实际上将通过服务器端传入,我在构建时刚刚在此处虚拟了一些数据*
var Event = function(text, className) {
this.text = text;
this.className = className;
};
var events = {};
events[new Date("11/12/2012")] = new Event("A Good Day", "yellowDot");
events[new Date("11/20/2012")] = new Event("Mkay", "blueDot");
$('#date').datepicker({
beforeShowDay: function (date) {
var event = events[date];
if(event) {
return [true, event.className, event.text];
}
else {
return [true, '', ''];
}
},
onChangeMonthYear: function () {
//reload another calendar, past or future?
}
});
最佳答案
您正在传递 onChangeMonthYear日期选择器小部件的处理程序函数。该函数将使用三个参数调用:
- 新选择的年份,
- 新选择的月份,
- 日期选择器小部件实例。
因此,你可以这样写:
onChangeMonthYear: function(year, month, widget) {
reloadCalendar(month, year);
}
小部件实例参数作为快捷方式提供,以避免在您想要操作自动完成小部件时通过桥。例如,如果您想立即关闭日期选择器,它允许您编写:
widget.hide();
而不是:
$(this).datepicker("hide");
关于jQuery 日期选择器 : User Going to Next Month or Previous Month?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13236920/