2013-02-12 11 views
7

Bu eklentiyi kullanmaya yeni başlamıştım ve yeni oluşturduğum olayları kaldırma konusunda sorun yaşıyorum. EventClick'i kullanırken tüm etkinlikleri silebilirim, ancak eventClick'te belirli olanları değil.Belirli olayları removeEvents yöntemiyle kaldırma

Herhangi bir yardım için teşekkür ederiz. İşte benim kodum.

<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

Bunu okudunuz mu: http://arshaw.com/fullcalendar/docs/event_data/removeEvents/ – j08691

+0

Evet yaptım. Sadece kimliğime hangi kimliğin geçeceğinden emin değildim. – wowzuzz

+0

Görünüşte bir olay kimliği veya bir işlev. – j08691

cevap

24

2 şekilde yapabilirsiniz:

1) etkinliklerinize her birine benzersiz bir kimlik ayarlayın ve removeEvents çağrısına bu kimlikleri geçmektedir.

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

Burada _id benzersiz bir ID olan fullCalendar üretmektedir.

2) İstediğiniz olayı silmek için bir filtre işlevi iletin.

Bunu, eventClick'da yapmaya çalıştığınız düşünüldüğünde, 2.'yi kullanmanızı öneririm. aşağıdaki gibi davanızı bir örnek: İşte removeEvents geçirilen filtre fonksiyonu

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

silmek ve döner doğru istediğiniz etkinliği kabul eder. Bunu eventClick'da yaptığınız için tek yapmanız gereken calEvent geçmek.

Bu yardımcı olur umarız!

+1

Kod hala çalışmıyor. Düzenlemeler yukarıda. Tüm olayları şu andan itibaren siler. – wowzuzz

+1

Eh, evet - filtre tüm olaylar için doğru olduğu için. Silmek istediğiniz olayı benzersiz olarak tanımlayan ve yalnızca bu durumda doğru olan bir koşulu koymak zorundasınız. Kodunuzla olduğu gibi çalışmak istiyorsanız, lütfen seçenek 1 ile devam edin (bunu bir örnekle güncelledim) – ganeshk

+0

Ahh Oluşturulan benzersiz kimliğin _id olduğunu bilmiyordum. Yardımlarınız ve açıklamalarınız için çok teşekkür ederim. :) – wowzuzz