我看到了在代码中重复events
的示例,但是我对它的工作方式感到困惑。我该如何添加每个星期一下午4:30发生的事件(现在将events
作为数组添加)?我正在尝试使用basicWeek视图。
最佳答案
fullCalendar中的事件模型不支持使用数组事件源直接添加“重复”事件。
您需要使用外部供稿(JSON URL)或使用javascript函数生成事件。无论哪种方式,您的“源”都具有执行重复事件的逻辑,并且可以在给定的时间范围内完全保留重复事件的所有日期。
例如,使用Javascript函数。
function MyEvents(start,end, callback) {
var events = [];
// Setup the meeting on the this weeks "monday"
var meeting = new Date(start.getFullYear(),
start.getMonth(),
start.getDate(),
4, 30, 00);
meeting.setDate((meeting.getDate() - meeting.getDay()) + 1);
while (meeting <= end) {
events.push({
id: 2,
title: "Monday Meeting",
start: new Date(meeting.valueOf()),
allDay: false
});
// increase by one week
meeting.setDate(meeting.getDate() + 7);
}
callback(events);
}
$('#calendar').fullCalendar({
//.... Other settings here
events: MyEvents
//....
});
这仅处理每周一次的重复,因此您必须相应地为任何其他重复间隔构建逻辑。或者找到一个现有的类来管理重复事件。
要查看此代码的“实际应用”,这里是一个jsbin链接http://jsbin.com/usori3/edit