2013-02-12 10 views
7

我剛剛開始使用此插件,並且在刪除剛剛創建的事件時遇到了一些問題。我可以在使用eventClick時刪除所有事件,但不能在eventClick上刪除特定的事件。使用removeEvents方法刪除特定事件

任何幫助,將不勝感激。這是我的代碼。

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

}); 
+0

你讀過這個:http://arshaw.com/fullcalendar/docs/event_data/removeEvents/ – j08691 2013-02-12 22:03:49

+0

是的,我做到了。我只是不確定什麼id傳入我的函數。 – wowzuzz 2013-02-12 22:04:31

+0

顯然是事件ID或函數。 – j08691 2013-02-12 22:05:05

回答

24

您可以通過兩種方式做到這一點:

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

希望這會有所幫助!

+1

該代碼仍然無法正常工作。編輯在上面。它現在刪除所有事件。 – wowzuzz 2013-02-13 14:00:21

+1

嗯,是的 - 因爲過濾器對所有事件都返回true。只有在這種情況下,您才需要輸入一個唯一標識要刪除的事件的條件並返回true。如果你想使用你的代碼,請使用選項1(我用例子更新過) – ganeshk 2013-02-13 15:03:56

+0

Ahh我不知道生成的唯一ID是_id。非常感謝您的幫助和解釋。 :) – wowzuzz 2013-02-13 15:47:02