使用removeEvents方法删除特定事件



我刚开始使用这个插件,在删除刚刚创建的事件时遇到了一些问题。使用eventClick时,我可以删除所有事件,但不能删除eventClick上的特定事件。

如有任何帮助,我们将不胜感激。这是我的密码。

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

您可以通过两种方式实现这一点:

1) 为每个事件设置一个唯一的ID,并将这些ID传递给removeEvents调用。

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

这里_id是fullCalendar生成的唯一ID。

2) 传递一个筛选函数以删除所需的事件。

考虑到你正试图在eventClick中做到这一点,我建议你使用第二个。您的案例示例如下:

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

这里传递给removeEvents的过滤函数接受要删除的事件,返回true。由于您在eventClick中执行此操作,所以您所要做的就是通过calEvent

希望这能有所帮助!

相关内容

  • 没有找到相关文章

最新更新