jquery FullCalendar - 删除选择中的所有事件

时间:2011-10-01 16:36:31

标签: jquery fullcalendar

我正在使用FullCalendar,我正在使用select:函数来允许用户选择一天或多天,然后输入一个值,稍后我将保存到数据库中。我想在添加新事件之前清除选择中的现有事件,但是我无法从select函数中访问事件属性,然后调用fullCalendar('removeEvent',);.有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

FullCalendar插件提供了一种方法clientEvents,它返回在客户端本地存储的所有事件(例如,如果日历从json提要中检索数据,则只获取已经下载的事件)。由于您无法选择不可见的内容,因此所选区域中的所有事件肯定都在此缓存中。有关详细信息,请参阅http://arshaw.com/fullcalendar/docs/event_data/clientEvents/

此方法接受可选参数idOrFilter,用于在返回事件之前应用过滤器。这可以是ID列表或(对您更有价值)功能。此函数获取一个事件对象并返回true(意味着:在结果集中包含此事件)或false(丢弃它)。

var eventsToDelete = $('#calendar').fullCalendar('clientEvents', function(event) {
    // check if event.start >= selection.start && event.start < selection.end ... etc.
});

eventsToDelete现在是一个包含您要删除的所有事件的数组。