我正在使用eventSources方法初始化FullCalendar jQuery插件。
事件来源:[initEvents(visibleStartDate,visibleEndDate)]
其中initEvents是对jsp页面的ajax调用,返回表示要呈现的事件的json对象。它工作得很好,但现在我想只为日历上可见的日期获取活动。我在文档中读到,我可以在View对象上使用visStart和visEnd来获取日历的开始和结束日期,但我不知道如何在初始化eventSources时获取这些信息。有办法吗?提前感谢您的回复。
Eric
事实证明,当日历源从外部获取时,fullcalendar插件会添加开始和结束HTTP参数。详细信息请参阅此处的文档:http://arshaw.com/fullcalendar/docs/event_data/events_json_feed/
我的代码(javascript、JSP、JSF的混合):
- FullCalendal初始化:
page.view.calendar.fullCalendar(
{
....
eventSources: [
page.control.initEventSources(#{sessionBean.myCalendar.calendarConfgIdNbr},'Approved'),
page.control.initCalendarHolidays(#{sessionBean.myCalendar.calendarConfgIdNbr})],
....
});
2.我的javascript函数:page.control.initEventSources:
var page = {
control : {
initEventSources : function(calConfId, status) {
return {
url: '/oceportal/tom/data/bookings.jsp',
type: 'POST',
data: { calConfId: calConfId, bookingStatus: status, loggedInId: "#{sessionBean.loggedInId}", },
success: function(data) { },
error: function() { alert('there was an error while fetching events!'); },
color: 'none',
textColor: page.colorConfig[status]
};
}
}
}
我的JSP片段(用于检索第一天和最后一天):
String start = request.getParameter("start");
Date startDt = new Date(Long.parseLong(start)*1000);
String end = request.getParameter("end");
Date endDt = new Date(Long.parseLong(end)*1000);
希望它能帮助到别人。