2017-09-05 1 views
0

Ich habe kürzlich mit FullCalendar für ein Reservierungssystem gearbeitet. Das Problem ist, dass jedes Mal, wenn ich einen Zeitbereich auswähle, alles zum eventData-Objekt hinzugefügt wird. Ich versuche nur einen Zeitbereich auszuwählen.FullCalendar hebt die vorherige Auswahl nicht auf

Wenn ich auf die Schaltfläche $('#btn-reserve') klicke, sollte das Ereignis im Kalender angezeigt werden.

Was passiert ist, dass sogar meine vorherige Auswahl im Kalender gerendert wird. Ich möchte nur die letzte Auswahl wiedergeben, die ich gemacht habe.

hier ist mein Code

$('.calendar').fullCalendar({ 
    selectable: true, 
    select: function(start, end) { 
      $('#end_time').val(end); 
      $('#start_time').val(start); 
      $('#newScheduleModal').modal({ 
       show : true, 
       backdrop: 'static', 
       keyboard: false 
      }); 

      $('#btn-reserve').click(function(){ 
        eventData = { 
         title: 'Lesson Schedule', 
         start: start, 
         end: end 
        }; 
        $('.calendar').fullCalendar('renderEvent', eventData, true); // stick? = true 
        $('#newScheduleModal').modal('hide'); 
      }); 

      $('#btn-cancel-reserve').click(function(){ 
       $('.calendar').fullCalendar('unselect'); 
       eventData = {}; 
      }) 
    }, 

}) 

Antwort

1

Sie sind das Hinzufügen eines neuen Click-Ereignis jedes Mal, wenn der Kalender ausgewählt ist. Sie müssen den Klick lösen, bevor es wie so hinzufügen:

$('#btn-reserve').off('click').click(function 

Sie könnten das gleiche für Ihre „# BTN-cancel-Reserve“ Element tun wollen.

Verwandte Themen