更新和删除日历的单个事件

时间:2016-08-21 22:41:31

标签: fullcalendar

我需要编辑/删除callendar的单个事件,但是使用我当前的代码,更新/删除会影响日历中的所有事件。

更新尝试:

$('#btn').click(function(){
    var evento = $('#calendario').fullCalendar('clientEvents', function(event){
       return event.className == 8;
    });        
    evento[0].backgroundColor = "red";
    $('#calendario').fullCalendar('updateEvent', evento[0]);  
});

它会更改所有事件的背景颜色。此外,它会将事件title更改为相同的事件(具有该ClassName的事件)。

删除尝试:

$('#btn').click(function(){
   $('#calendario').fullCalendar('removeEvents', function(event){
      return event.className = 8;
   });
});  

此外,此方法删除所有事件。

我如何定位单个活动?

更新

刚发现问题:
即使我仅定位具有该特定event的特定className,此方法updateEvent也会更新共享相同的所有事件ID。为什么呢?
我不认为这应该发生。

1 个答案:

答案 0 :(得分:0)

你是对的,你应该能够使用过滤器来定位事件。

当您尝试删除事件时,您使用的是赋值运算符而不是equals运算符。通过更改它,您的过滤器应该返回true以删除该类的事件。

以下代码用于将类添加到一个事件,然后使用该类删除事件。

        eventRender: function (event, element) {
            if (event.id === 628) {
                event.className = "Test";
            }

        },
        eventClick: function (event, jsEvent, view) {
            $('#calendar').fullCalendar('removeEvents', function (event) {
                return event.className === "Test";
            });
        }