如何在fullCalendar中更新事件



我想在fullcalendar中更新我的json,以下是我想要做的。我有一个JSON字符串,我正直接尝试将其输入到完整日历中的事件对象中。

-->

var JSON[
    {
        "id": "1", // Optional
        "title": "Demo event", // Required
        "start": "2013-08-28 10:20:00", // Required
        "end": "2013-08-28 11:00:00", // Optional
        "allDay": false, // Optional
        "url": "http://google.com", // Optional, will not open because of browser-iframe security issues
        "className": "test-class", // Optional
        "editable": true, // Optional
        "color": "yellow", // Optional
        "borderColor": "red", // Optional
        "backgroundColor": "yellow", // Optional
        "textColor": "green" // Optional
    },
    {
        "id": "2", // Optional
        "title": "Demo event 2", // Required
        "start": "2013-08-27 10:20:00", // Required
        "end": "2013-08-27 11:00:00", // Optional
        "allDay": false, // Optional
        "url": "http://google.com", // Optional, will not open because of browser-iframe security issues
        "className": "test-class", // Optional
        "editable": true, // Optional
        "color": "yellow", // Optional
        "borderColor": "red", // Optional
        "backgroundColor": "yellow", // Optional
        "textColor": "green" // Optional
    }
];

然后,我想将某个下拉事件(未显示在fiddle中)上的JSON修改为一个新字符串,并尝试在日历上获取新事件。

完整日历无效。

http://jsfiddle.net/pratik24/u8Ksw/28/

谢谢你的帮助。感谢。

您没有调用正确的fullCalendar方法来呈现新事件。

这将不起作用,因为它只用于第一次呈现事件:

   $("#demo-calendar").fullCalendar('renderEvents', JSON);

相反,您需要删除日历上的事件并刷新它们:

   $("#demo-calendar").fullCalendar('removeEvents'); 
   $("#demo-calendar").fullCalendar('addEventSource', JSON); 

检查Fiddle:http://jsfiddle.net/shaunp/u8Ksw/29/

注意有一个名为refetchEvents的fullCalendar方法,但它不适用于一系列事件,例如您创建的事件,因此您必须手动删除这些事件,然后重新添加事件源。

您需要添加以下行:

$("#demo-calendar").fullCalendar('removeEvents'); 
$("#demo-calendar").fullCalendar('addEventSource', JSON, true); 

在日历中添加新事件时,切换月份时这些事件可能会消失。要解决此问题,请将stick: true添加到要添加到作用域的事件对象中。

相关内容

  • 没有找到相关文章

最新更新