jQuery Datepicker:用户将选择下个月还是上个月?
我需要在用户单击“下一个”月或“上一个”月后,用自定义css重新填充datepicker。我正在点击onChangeMonthYear事件,但不知道用户的方向(下个月还是上个月)。有什么简单的东西可以给我这个吗?如果不是,最简单的解决方案是什么 *在此处添加代码以澄清问题请注意,事件实际上是通过服务器端传入的,我在构建时刚刚在此处模拟了一些数据*jQuery Datepicker:用户将选择下个月还是上个月?,jquery,jquery-ui,jquery-ui-datepicker,Jquery,Jquery Ui,Jquery Ui Datepicker,我需要在用户单击“下一个”月或“上一个”月后,用自定义css重新填充datepicker。我正在点击onChangeMonthYear事件,但不知道用户的方向(下个月还是上个月)。有什么简单的东西可以给我这个吗?如果不是,最简单的解决方案是什么 *在此处添加代码以澄清问题请注意,事件实际上是通过服务器端传入的,我在构建时刚刚在此处模拟了一些数据* var Event = function(text, className) { this.text = text;
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?
}
});
您正在将处理程序函数传递给datepicker小部件。将使用三个参数调用该函数:
- 新的一年,
- 新选定的月份
- datepicker小部件实例
onChangeMonthYear: function(year, month, widget) {
reloadCalendar(month, year);
}
小部件实例参数作为快捷方式提供,以避免在您想要操作自动完成小部件时通过桥接。例如,如果您想立即关闭日期选择器,它允许您写入:
widget.hide();
而不是:
$(this).datepicker("hide");
Datepicker是动态创建的,因此您应该使用
.live
$('.ui-datepicker-next').live("click", function() {
alert(1)
}
你能提供更多的细节说明为什么你必须知道改变的方向吗?这可能有助于我们更好地理解你的意图。就你的问题而言,我只能建议绑定到
上的点击下一步按钮上的事件,而不是处理onChangeMonthYear
。我在日历上设置了一些日期“可点击”。因此,如果用户继续,我需要点击一些数据,并带回当月的约会,将它们放在“新月份”视图中。上个月也是如此。好吧,但为什么你需要改变的方向来这样做呢?您可以使用新选择的月份和年份来查询数据并相应地更新小部件。或者我遗漏了什么?当点击“下一步”按钮时,我不知道日期是什么,也不知道他们在哪个月。还是有办法告诉你?对不起,我不是故意装傻。你让我很开心。