如何将新事件加载到FullCalendar中

时间:2017-03-15 08:52:20

标签: javascript jquery fullcalendar

我使用的是FullCalendar 3.2。问题是如果我从日历中获取当前事件并清除然后将新的事件添加到数组中。当我打电话

$('#calendar').fullCalendar( 'updateEvents',eventsList);

它不起作用但抛出错误

Uncaught TypeError: Cannot read property 'clone' of undefined
    at Y (fullcalendar.min.js:6)
    at Bt.x [as updateEvents] (fullcalendar.min.js:6)
    at HTMLDivElement.<anonymous> (fullcalendar.min.js:6)

这是按钮点击处理程序

中的代码
var items = $('#calendar').fullCalendar( 'clientEvents');
items.splice(0, items.length);
items.push({
            title: 'All Day Event',
            start: '2017-02-01'
            });
items.push({
            title: 'Long Event',
            start: '2017-02-07',
            end: '2017-02-10'
            });
$('#calendar').fullCalendar( 'updateEvents',items);

我曾尝试使用jquery版本2.2.4和3.1.1但没有运气

<link rel="stylesheet" href="resources/css/default.css">
<link rel='stylesheet' href='resources/css/fullcalendar.css' />
<script src='resources/js/jquery-3.1.1.min.js'></script>
<script src='resources/js/moment-with-locales.min.js'></script>
<script src='resources/js/fullcalendar.js'></script>

1 个答案:

答案 0 :(得分:1)

您可以尝试:https://fullcalendar.io/docs1/event_rendering/renderEvent/

 $("#calendar").fullCalendar( /* option */);
 var items = [
    {
        title: 'All Day Event',
        start: '2017-02-01'
    }, {
        title: 'Long Event',
        start: '2017-02-07',
        end: '2017-02-10'
    }
];
for ( var i = 0; i < items.length; i++ ) {
    $('#calendar').fullCalendar( 'renderEvent', items[i]);
}

renderEvent :在日历上呈现新事件。

注意:事件必须是具有标题的事件对象,并且至少从此开始。

演示here