我刚开始使用这个插件,我在删除刚刚创建的事件时遇到了一些麻烦。我可以在使用eventClick时删除所有事件,但不能删除eventClick上的特定事件。
任何帮助将不胜感激。这是我的代码。
<script type='text/javascript'>
$(document).ready(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = $('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
selectable: true,
selectHelper: true,
select: function(start, end, allDay) {
var title = prompt('Trade Show Name:');
if (title) {
calendar.fullCalendar('renderEvent',
{
title: title,
start: start,
end: end,
allDay: allDay,
id: 12
},
true // make the event "stick"
);
$('input[name="startDate"]').val(start);
}
calendar.fullCalendar('unselect');
},
eventClick: function(calEvent, jsEvent, view) {
$('#calendar').fullCalendar('removeEvents', function (calEvent) {
return true;
});,
editable: true
});
});
答案 0 :(得分:25)
您可以通过两种方式执行此操作:
1)为每个活动设置唯一ID,并将这些ID传递给removeEvents
来电。
eventClick: function (calEvent, jsEvent, view) {
$('#calendar').fullCalendar('removeEvents', calEvent._id);
}
此处_id
是fullCalendar生成的唯一ID。
2)通过过滤功能删除所需的事件。
考虑到您在eventClick
尝试执行此操作,我建议您使用第二个。您的案例如下:
eventClick: function (calEvent, jsEvent, view) {
$('#calendar').fullCalendar('removeEvents', function (calEvent) {
return true;
});
}
此处传递给removeEvents
的过滤器功能接受您要删除的事件,返回true 。由于您是在eventClick
中执行此操作,因此您只需传递calEvent
。
希望这有帮助!