Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Removing specific events with removeEvents method

I've just started out using this plugin and I am having some trouble removing events that I have just created. I can delete all the events when using eventClick, but not particular ones on eventClick.

Any help would be appreciated. Here is my code.

<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
    });

});
like image 742
wowzuzz Avatar asked Feb 12 '13 21:02

wowzuzz


People also ask

How do I delete an event in Fullcalendar v5?

Event::remove Removes an event from the calendar. You must call this on an Event Object that you received elsewhere in the API, such as getEventById.

How do I delete all events in Fullcalendar?

Removes events from the calendar. If idOrFilter is omitted, all events are removed. If idOrFilter is an ID, all events with the same ID will be removed.


1 Answers

You can do this in 2 ways:

1) Set a unique ID to each of your events and pass those IDs to the removeEvents call.

eventClick: function (calEvent, jsEvent, view) {           
    $('#calendar').fullCalendar('removeEvents', calEvent._id);
}

Here _id is the unique ID fullCalendar generates.

2) Pass a filter function to delete the event you want.

Considering that you are trying to do this in eventClick, I would suggest you use the 2nd. An example to your case is as follows:

eventClick: function (calEvent, jsEvent, view) {
    $('#calendar').fullCalendar('removeEvents', function (calEvent) {
        return true;
    });
}

Here the filter function passed to removeEvents accepts the event you want to delete and returns true. Since you are doing this in eventClick, all you have to do is pass calEvent.

Hope this helps!

like image 147
ganeshk Avatar answered Oct 01 '22 17:10

ganeshk