![](/img/trans.png)
[英]how to programmatically update the rendering of an event in fullcalendar
[英]how to update an event in 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
}
];
,
然后我想将一些下拉事件(未在小提琴中显示)上的JSON修改为新字符串并尝试在日历上获取新事件。
fullCalendar不会生效。
http://jsfiddle.net/pratik24/u8Ksw/28/
谢谢您的帮助。 欣赏它。
您没有调用正确的fullCalendar方法来呈现新事件。
这不起作用,因为它只是为了第一次渲染事件:
$("#demo-calendar").fullCalendar('renderEvents', JSON);
相反,您需要删除日历上的事件并刷新它们:
$("#demo-calendar").fullCalendar('removeEvents');
$("#demo-calendar").fullCalendar('addEventSource', JSON);
检查小提琴: http : //jsfiddle.net/shaunp/u8Ksw/29/
请注意 ,有一个名为refetchEvents
的fullCalendar方法,但它不适用于您创建的事件数组,因此您必须手动关闭事件并再次重新添加事件源。
您需要添加以下行:
$("#demo-calendar").fullCalendar('removeEvents');
$("#demo-calendar").fullCalendar('addEventSource', JSON, true);
将新事件添加到日历时,它们可能会在切换月份时消失。 要解决此问题,请添加stick: true
对添加到范围的事件对象为stick: true
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.