我有一个fullcalendar使用来自flatfile的json正常加载数据
我想在点击上一个/下一个时加载该月份文件中的每个月数据
使用ajax?事件:函数(开始,结束,回调)addEventSource - removeEventSource?其他?
允许jQuery仍在进行中。
更新: 我已经设定: viewDisplay:function(view){var next = view.title;警报(未来); }, 这给了我点击下一个/上一个月的月份 如何将其解析为json-events.php
我试过[拆分下一个]事件:“json-events.php?month = month”, 都能跟得上...
答案 0 :(得分:1)
这不是使用php,但您可以在getCalData()中更改AJAX调用来执行此操作。 EventSource将填充下一个数据。
我希望这会有所帮助。
$(document).ready(function () {
var calendar = $('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'resourceMonth'
},
defaultView: 'resourceWeek',
eventSources: [ getCalData() ],
header: {
left: 'prev,next today',
center: 'title',
right: ''
},
viewDisplay: function (view) {
$('#calendar').fullCalendar('removeEvents');
$('#calendar').fullCalendar('addEventSource', getCalData());
$('#calendar').fullCalendar('rerenderEvents');
}
});
});
function getCalData() {
var source = [{}];
$.ajax({
async: false,
url: '/mysite/GetWeekData',
data: { myParam: $('#calendar').fullCalendar('getView').visStart },
success: function (data) {
$(data).each(function () {
source.push({
title: $(this).attr('title'),
start: $(this).attr('start'),
});
});
},
error: function () {
alert('could not get the data');
},
});
return source;
}
答案 1 :(得分:1)
您只需将View Render属性添加到fullcalendar的配置对象
即可viewRender: function(view, element) {
//console.debug("View Changed: ",view.start, view.end);
// events = loadevents();
jQuery(nativeelement).fullCalendar('removeEvents');
jQuery(nativeelement).fullCalendar('addEventSource', events);
}
现在您可以逐月加载。 angular2
的语法答案 2 :(得分:0)
fullcalendar默认情况下在获取事件时发送2个附加参数,params [:start],params [:end] 你可以使用它们来返回这两个值之间的查询事件