0

我正在使用 eventSources 方法来初始化 FullCalendar jQuery 插件。

事件源:[ initEvents(visibleStartDate, visibleEndDate) ]

其中 initEvents 是和对 jsp 页面的 ajax 调用,该页面返回表示要呈现的事件的 json 对象。它工作得很好,但现在我想只为日历上可见的日期获取事件。我在文档中读到我可以在 View 对象上使用 visStart 和 visEnd 来获取日历的开始和结束日期,但是在初始化我的 eventSources 时我不知道如何获取该信息。有办法吗?预先感谢您的回复。

埃里克

4

1 回答 1

0

事实证明,当从外部获取日历源时,fullcalendar 插件将添加开始和结束 HTTP 参数。此处的文档中描述了完整的详细信息:http: //arshaw.com/fullcalendar/docs/event_data/events_json_feed/

我的代码(javascript、JSP、JSF 的混合):

  1. 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] 
                    };
                }
            }
        }
  1. 我的 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);
    

    希望它可以帮助某人。

于 2013-07-26T13:55:31.597 回答