我正在处理休假日历(仅使用月份显示模式(。
我想防止在同一天发生多个事件。这是我的代码的样子(为了这个问题的目的,它被简化了(。
// Get current Events.
var currentEvents = $('#calendar').fullCalendar('option', 'events');
// Do validation process here...
var newTimeOffEvent = {
title: 'Time Off',
start: $('#txtStartDate').val(),
end: $('#txtEndDate').val(),
allDay: true,
editable: true
};
// Render the new single event on the calendar.
$('#calendar').fullCalendar('renderEvent', newTimeOffEvent, true);
// Trying to update the Events array in the Full Calendar.
$('#calendar').fullCalendar('option', 'events', $.merge([], currentEvents, [newTimeOffEvent]));
最后一行代码似乎不起作用,因为在随后的代码执行中,新事件不在 Events 数组中。
我已经尝试了在完整日历的文档中找到的许多函数来更新事件数组,但没有成功:updateEvents(method(, clientEvents(method(, etc...
也许有我没有想到的功能组合......
谢谢!
有效!我只是没有使用正确的函数来检索完整日历中的当前事件。我需要调用函数 clientEvents,而不是>事件选项,如下所示:
// Get current Events.
var currentEvents = $('#calendar').fullCalendar('clientEvents');
// Do validation process here...
var newTimeOffEvent = {
title: 'Time Off',
start: $('#txtStartDate').val(),
end: $('#txtEndDate').val(),
allDay: true,
editable: true
};
// Render the new single event on the calendar.
$('#calendar').fullCalendar('renderEvent', newTimeOffEvent, true);
下面的代码块不再有用,因为 renderEvent 正在更新 clientEvents:
$('#calendar').fullCalendar('option', 'events', $.merge([], currentEvents, [newTimeOffEvent]));
希望我的困惑对某人有所帮助。