将事件直接添加到fullCalendar后删除事件

时间:2013-02-03 12:32:19

标签: jquery events fullcalendar

我希望在将事件直接添加到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();
                    }
                });


            } 

        }

1 个答案:

答案 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);