leo*_*ora 15 jquery fullcalendar
我使用的是jquery fullcalendar,效果很好.我的事件来自ajax调用并以json的形式返回.
我试图找出是否有办法从客户端添加事件而不刷新整个服务器.
我能够在我的代码中添加一个新事件(将其添加到我的数据库中),但我知道如何刷新UI以显示这个新事件的唯一方法是调用refetchevents(但这会重新加载本月的所有内容)服务器.
无论如何,我可以坚持所有客户端的其他活动,以避免整个月的事件刷新?
我看到我可以通过removeEvents方法逐个删除事件(带有id过滤器),但我没有看到有关添加事件的等价物.
我有一个后续问题,下面的答案都有效.(创造另一个问题没有意义).我想看看在客户端上"刷新"单个事件的推荐方法.我试图简单地用一个具有相同Id的事件调用'renderEvent'但是在日历上创建一个新事件.
我看到有:UpdateEvent方法,我认为这将是答案,但似乎这只有在你在一个eventClick内时才有效(你不能只创建一个新的事件对象,设置Id并更改一个字段并调用更新.
http://arshaw.com/fullcalendar/docs/event_data/updateEvent/
Run Code Online (Sandbox Code Playgroud)
是否有推荐的方法从客户端刷新事件,类似于下面的"添加客户端"事件逻辑?
现在我只是在这样的事件中删除和读取:
$('#calendar').fullCalendar('removeEvents', data.Event.id);
$('#calendar').fullCalendar('renderEvent', data.Event, true);
Run Code Online (Sandbox Code Playgroud)
小智 40
要将客户端上的事件添加到fullCalendar中,您可以调用:
var myCalendar = $('#my-calendar-id');
myCalendar.fullCalendar();
var myEvent = {
title:"my new event",
allDay: true,
start: new Date(),
end: new Date()
};
myCalendar.fullCalendar( 'renderEvent', myEvent );
Run Code Online (Sandbox Code Playgroud)
我没有测试过这段代码,但这应该可以完成工作.
小智 9
这是我使用的代码:
function addCalanderEvent(id, start, end, title, colour)
{
var eventObject = {
title: title,
start: start,
end: end,
id: id,
color: colour
};
$('#calendar').fullCalendar('renderEvent', eventObject, true);
return eventObject;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45897 次 |
| 最近记录: |