jQuery使用fullcalendar插件获取下个月的数据
我正在使用jQuery fullcalendar插件 如何获取下个月的数据,即通过单击“下一步”按钮传递数据jQuery使用fullcalendar插件获取下个月的数据,jquery,fullcalendar,Jquery,Fullcalendar,我正在使用jQuery fullcalendar插件 如何获取下个月的数据,即通过单击“下一步”按钮传递数据 $('#calendar').fullCalendar({ events:"automapic_admin.php?current_date='+currentdate, eventRender: function(event, element) { $('.fc-event-title', element).html(event.title);
$('#calendar').fullCalendar({
events:"automapic_admin.php?current_date='+currentdate,
eventRender: function(event, element) {
$('.fc-event-title', element).html(event.title);
}
});
实际上,我正在使用click事件调用next按钮
$(".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( 'Y-m-d H:i:s' );
我决定一年一次而不是一个月地取消所有活动,以减少请求,因为活动的数量很少。如果每个用户都有大量的事件,那么按月提取它们就更有意义了。上面的答案让我有了一部分了解,但我最终得出的结论是,我认为稍微简单一点,并且更新了最新的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”),用于获取特定月份的事件。当日历首次加载时,它默认为当前日期,并且在第一次加载时传递给日历的end参数与start相同,因此它可以在第一次加载时使用,也可以在单击“上一个”和“下一个”按钮时使用
反正,这对我来说很有效,所以我想与大家分享一下,因为这与我今天在做这件事时发现的任何其他例子都有点不同。我不明白你在问什么-你是想通过编程方式转到下个月,还是想知道下个月会是什么样子?我想他想得到下个月下个月实际上显示在日历上。