2013-10-17 16 views
7

Używam Fullcalendar dla projektu, który rozwijam ... Mam tylko jedną funkcję do zaimplementowania, czyli kiedy istniejące wydarzenie jest przeciągane z jego oryginalnej pozycji do innego czasu lub daty. Chciałbym wiedzieć, jak uzyskać aktualne informacje o obiekcie (tytuł, nowy czas rozpoczęcia, stary czas rozpoczęcia, identyfikator, adres URL itp.), Aby móc zaktualizować bazę danych nowszymi informacjami ... która właściwość z obiektu Fullcalendar ma Używam? Zaimplementowałem właściwość drop;aktualizowanie zdarzenia przez przeciąganie/upuszczanie pełnego kalendarza- Javascript

drop : function(date, allDay) { 
      // retrieve the dropped element's stored event object 
      var originalEventObject = $(this).data('eventObject'); 
      // we need to copy it, so that multiple events don't 
      // have a reference object 
      var copiedEventObject = $.extend({}, originalEventObject); 
      // assign it the date that was reported 
      copiedEventObject.start = date; 
      copiedEventObject.allDay = allDay; 

      // render the event on the calendar 
      // the last `true` argument determines if the event `sticks` 
      $('#calendar').fullCalendar('renderEvent', copiedEventObject, true); 

      // if the 'remove after drop' checkbox checked? 
      if ($('#drop-remove').is(':checked')) { 
       // if so remove the element from the "Draggable Events" 
       $(this).remove(); 
      } 
    }, 

ale nie robi tego, co chciałem ...

Odpowiedz

13

Spójrz na zdarzenie przeciąganie i zmiany rozmiaru http://arshaw.com/fullcalendar/docs/event_ui/

myślę czego szukasz eventDrop zwrotnego.

wyzwalane podczas przeciągania zatrzymuje się, a zdarzenie został przeniesiony do innej dzień/czas.

http://arshaw.com/fullcalendar/docs/event_ui/eventDrop/

Przykład ze strony arshaw za:

$('#calendar').fullCalendar({ 
    events: [ 
     // events here 
    ], 
    editable: true, 
    eventDrop: function(event,dayDelta,minuteDelta,allDay,revertFunc) { 

     alert(
      event.title + " was moved " + 
      dayDelta + " days and " + 
      minuteDelta + " minutes." 
     ); 

     if (allDay) { 
      alert("Event is now all-day"); 
     }else{ 
      alert("Event has a time-of-day"); 
     } 

     if (!confirm("Are you sure about this change?")) { 
      revertFunc(); 
     } 

    } 
}); 
+0

Hej, myślę eventDrop() nie wywoływana podczas przeciągania zdarzenia zewnętrznego na kalendarzu. Zamiast tego funkcja drop(). W moim przypadku zdarzenie zewnętrzne spada do kalendarza (On Resource View), ale nie będzie tam wyświetlane, ale kiedy zmienię widok miesiąca i tygodnia oraz tego samego zdarzenia zewnętrznego. Więc jestem zdezorientowany, że w jaki sposób mogę przynieść to samo na ResourceView. –

+0

Interesujące @AffanPathan, czy możesz dodać skrzypce tutaj z twoim problemem? – MarCrazyness

+0

Opuściłem właściwości resources [], gdy już to naprawiłem, a teraz działa dobrze. :) –

Powiązane problemy