2016-09-26 6 views
0

Ich benutze full calendar plugin v3. Das Problem ist removeEventSource Funktion funktioniert nicht, wenn ich Parameter angeben. Ich habe versucht, ID, URL als Parameter zu setzen und refetchEvents aber kein Glück zu verwenden.Vollkalender-Plugin entfernt keine Ereignisse

$('#calendar').fullCalendar('removeEventSource'); //working without parameters 

$('#calendar').fullCalendar('removeEventSource', 1); //does not work 

Array:

var events = [ 
      { id: 1, 

       title: 'dinner', 
       start: '2016-09-14', 
       end: '2016-09-14' 
      }, 
      { id: 2, 
       title: 'All Day Event', 
       start: '2016-09-10', 
       end: '2016-09-10' 
      }, 
      { id: 3, 
       title: 'Long Event', 
       start: '2016-09-10', 
       end: '2016-09-10' 
      }, 
      { id: 4, 
       title: 'Repeating Event', 
       start: '2016-09-09T16:00:00', 
       end: '2016-09-09' 
      } 
     ] 

intilize Kalender

var calender = $('#calendar').fullCalendar({ 
    header: { 
    left: 'prev,next today', 
      center: 'title', 
      right: 'month,agendaWeek,agendaDay' 
     }, 
     defaultDate: '2016-09-12', 
     navLinks: true, 
     selectable: true, 
     droppable: true, 
     selectHelper: true, 
     select: function(start, end) { 
      var title = prompt('Event Title:'); 
      var eventData; 
      if (title) { 
       eventData = { 
        title: title, 
        start: start, 
        end: end 
       }; 
       $('#calendar').fullCalendar('renderEvent', eventData, true); 
      } 
      $('#calendar').fullCalendar('unselect'); 
     }, 
     drop: function() { 
      if ($('#drop-remove').is(':checked')) { 
       $(this).remove(); 
      } 
     } 
     , 
     editable: true, 
     eventLimit: true, 
     events : events 
    }); 

Click-Ereignis

$('body').on('click','.fc-close',function(e){ 
    //alert('remove event'); 
    $('#calendar').fullCalendar('removeEventSource', 1); 
    $('#calendar').fullCalendar('refetchEvents'); 



    }); 

Antwort

1

Sie sind ein bisschen verwirrt über eventSources und events, ein evenSource ist eine Sammlung von Ereignissen so, wenn Sie das events in der Initialisierung übergeben default eventSource ist initialisiert ohne id das ist, warum es nur funktioniert, wenn Sie keine ID übergeben.Korrekter Weg zu übergeben EventSource ist Sie Ereignisse darin einbetten und geben eine ID jedes Element wie unten event

var eventSrc = [ 
       { 
        id:1, 
        events : [{        
           id: 1, 
           title: 'dinner', 
           start: '2016-09-14', 
           end: '2016-09-14' 
           }, 
           {  
           id: 2, 
           title: 'All Day Event', 
           start: '2016-09-10', 
           end: '2016-09-10' 
          }] 
       }, 
       { 
        id:2, 
        events : [{         
           id: 1, 
           title: 'camping', 
           start: '2016-08-14', 
           end: '2016-08-14' 
           }, 
           {  
           id: 2, 
           title: 'sports day', 
           start: '2016-08-10', 
           end: '2016-08-10' 
          }] 
       } 
       ] 

In Initialisierung

var calender = $('#calendar').fullCalendar({ 
              //other stuff 
              eventSources : eventSrc 
              }); 

Jetzt passieren ID von nur event es zu entfernen

$('#calendar').fullCalendar('removeEventSource', 1); 
+0

danke, es hat funktioniert. – nemrrached

Verwandte Themen