【问题标题】:Get dates during fullcalendar initializing在全日历初始化期间获取日期
【发布时间】:2013-07-25 20:08:35
【问题描述】:

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

事件来源:[ 初始化事件(可见开始日期,可见结束日期) ]

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

埃里克

【问题讨论】:

  • 我想我想出了自己的问题:“开始”和“结束”参数是由 fullcalendar 自动添加的。更多细节在这里:arshaw.com/fullcalendar/docs/event_data/events_json_feed
  • 请贴出答案,说不定以后其他人也会有同样的问题。
  • 在我的 JSP 页面中,我检索了开始日期,如下所示:String start = request.getParameter("start");日期 startDate = new Date(Long.parseLong(start)*1000);一旦我确定一切正常,我会发布完整的代码:)
  • 好的,但这是评论而不是答案;)
  • 将在 8 小时“隔离”期满后添加完整答案,以便发布自己问题的答案。干杯,埃里克

标签: fullcalendar


【解决方案1】:

事实证明,当从外部获取日历源时,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 sn-p(检索第一个和最后一个可见日期):

    
    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);
    

    希望对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多