我正在尝试找到一种方法,即使在该特定日期都没有事件时也可以放置事件。
所以例子:
我已经渲染了我的日历,但有 2 天没有事件。所以在那一天,我想添加一个说"已关闭"的事件。我已经尝试了多种方法,但找不到有效的方法....
这是我现在的代码:
$('#calendar').fullCalendar({
editable: false,
events: event,
firstDay: 1,
eventRender: function (event, element, view) {
$(element).tooltip({ title: event.description });
$(element).each(function () { $(this).addClass('dateClass-' + event.start.date().toString()); $(this).attr('date-num', event.start.date().toString()); });
if (view.name == "month") {
console.info("DATE: " + event.start.date().toString());
/*$('.fc-month-view').find('.fc-day-number').each(function () {
CellDates.push($(this).text());
if ($('table').hasClass('.dateClass-' + $(this).text())) {
console.info("Got an event!");
} else {
console.info("No event on that day!");
}
});*/
for (var i = 0; i < 40; i++) {
if ($(element).hasClass('dateClass-' + i)) {
console.info("Event: " + event.start.year().toString() + "-" + event.start.month().toString() + "-" + event.start.date().toString());
} else {
console.info("No Event: " + event.start.year().toString() + "-" + event.start.month().toString() + "-" + event.start.date().toString());
var _date = event.start.year().toString() + "-" + event.start.month().toString() + "-" + event.start.date().toString()
var _event = [{ "title": "Closed", "start" : _date}];
$('#calendar').fullCalendar('addEvent', _event)
}
}
}
}
});
它似乎不起作用...如果你们能帮我找到解决方案。我需要显示关闭到任何月份没有任何事件的任何日期。
非常感谢您的帮助!
我的方法是在视图渲染回调中使用数组。 表示月份中的天数。在页面加载脚本中创建它。在回调中重置它。
calendarDays = [];
在事件渲染回调中,我会查看每个事件并将数组中的相应位置设置为 true。
calendarDays[event.date()] = true;
在"毕竟渲染回调之后"中,我会查看该月有多少天。每天检查数组中的相应位置。如果不存在,则当天没有活动,可以添加新事件。