jQuery使用fullcalendar插件获取下个月的数据

我正在使用jQuery fullcalendar插件。

如何通过单击“下一步”按钮获取下个月的数据,即传递数据

$('#calendar').fullCalendar({ events:"automapic_admin.php?current_date='+currentdate, eventRender: function(event, element) { $('.fc-event-title', element).html(event.title); } }); 

实际上,我使用click事件来调用下一个按钮。

 $(".fc-button-next span").live("click", function(){ }); 

单击“下一个”和“上一个”按钮时,将调用事件函数。 以下是加载当前年份和月份数据的示例。

 $(document).ready(function () { loadCal(); }); function loadCal() { var current_url = ''; var new_url = ''; $('#calendar').fullCalendar({ // other options here... events: function( start, end, callback ) { var year = end.getFullYear(); var month = end.getMonth(); new_url = '/api/user/events/list/' + id + '/year/' + year + '/month/' + month; if( new_url != current_url ){ $.ajax({ url: new_url, dataType: 'json', type: 'POST', success: function( response ) { current_url = new_url; user_events = response; callback(response); } }) }else{ callback(user_events); } } }) } 

在查询中检索结果时,请确保至少包括上个月的最后10天和下个月的前10天。 这是PHP中的一个例子:

 if( $month === null ){ $month = '01'; } $startDate = $year . '-' . $month . '-01'; $startDateTime = new \DateTime( $startDate ); $startDateTime->modify( '-10 days' ); $startDate = $startDateTime->format( 'Ymd H:i:s' ); 

由于事件数量很少,我决定在一个时间而不是按月调整全年的所有事件以减少请求。 如果每个用户有大量事件,则按月删除它们会更有意义。

上面的答案让我分道扬but,但我最后想到的更简单,并且还更新了最新的FullCalendar。

  $(document).ready(function() { var d = new Date(); $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, fixedWeekCount: true, defaultDate: d, editable: true, eventLimit: false, events: function(start, end, timezone, callback) { var eventsUrl = '/events/' + end.year() + '/' + parseInt(end.month()); $.ajax({ url: eventsUrl, type: 'GET' }).done(function(response) { callback(response); }).fail(function(response, status, error) { alert(status + ': ' + error); }); }, loading: function(isLoading) { if (isLoading) { $('#loading').show(); } else { $('#loading').hide(); } } }); }); 

‘/ events /’URL包括年和月(例如’/ events / 2015/2’)以获取特定月份的事件。 当日历首次加载时,它默认为当前日期,方便地,在第一次加载时传递给日历的结束参数与start相同,因此它既可以在第一次加载时使用,也可以在上一个和下一个按钮时使用点击。

无论如何,这对我来说效果很好所以我想我会分享,因为它与我今天在此工作时发现的任何其他例子有点不同。