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 に答える