我希望在将事件直接添加到full calender后删除事件,当删除事件时我将id添加到事件对象中,当单击事件时我想删除事件。我警告id并且它正确警报,但事件没有删除事件执行ajax代码并且事件从服务器端删除。
添加事件并刷新页面然后删除事件时,相同的代码正常工作。
eventClick: function(event, element) {
var current = $(this);
if(confirm('Are you sure from removing the event?')){
jQuery.ajax({
url: url+"delCalEvent",
type: "POST",
dataType: 'JSON',
data:{
'eventId':event.id
},
success:function(result){
if(result == "1"){
//what should I do here to remove the event without refreshing the page
$('#calendar').fullCalendar('removeEvents', event.id);
}
},
error: function (request, status, error) {
alert('Error on deleting the event ');
revertFunc();
}
});
}
}
答案 0 :(得分:2)
它应该工作..但也许fullcalendar没有得到正确的引用..尝试使用下面的方法之一来获取对象引用:
// get specif event (reference)
var specificEvent = $('#calendar').fullCalendar('clientEvents', event.id);
或
// get last event added (reference)
var clientEvents = $('#calendar').fullCalendar('clientEvents');
var lastEvent = clientEvents[clientEvents.length-1];
然后尝试使用以下方法之一将其删除:
lastEvent.id = '';
lastEvent.start = '';
lastEvent.end = '';
$('#calendar').fullCalendar('updateEvent', lastEvent);
或
$('#calendar').fullCalendar('removeEvents', lastEvent);