1

我想在将事件直接添加到完整日历后删除事件,当删除事件时我将 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();
                    }
                });


            } 

        }
4

1 回答 1

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);
于 2013-02-03T14:24:01.513 回答