用户点击“下一个”月份或“上一个月”后,我需要使用自定义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?
}
});
答案 0 :(得分:4)
您正在将onChangeMonthYear处理函数传递给datepicker小部件。该函数将使用三个参数调用:
因此,您可以编写如下内容:
onChangeMonthYear: function(year, month, widget) {
reloadCalendar(month, year);
}
如果要操作自动完成窗口小部件,则窗口小部件实例参数作为快捷方式提供,以避免通过桥。例如,如果您想立即关闭日期选择器,它允许您编写:
widget.hide();
而不是:
$(this).datepicker("hide");
答案 1 :(得分:2)
动态创建Datepicker,因此您应该使用.live
$('.ui-datepicker-next').live("click", function() {
alert(1)
}