FullCalendar: удалить событие, но не может обновить это событие - PullRequest
2 голосов
/ 03 декабря 2010

Я реализовал FullCalendar из http://arshaw.com/fullcalendar/ с ColdFusion.Я бросаю события снаружи в календарь.Это работает хорошо, но я не могу обновить событие с помощью

$('#calendar').fullCalendar('updateEvent', responseText.NewID);

Мне нужно сделать это, чтобы я мог поместить новый идентификатор из базы данных dem в событие, для других действий, таких как изменение размера, удалениев другой день или удалить его.

Я мог бы выполнить перезагрузку со всего сайта, но это не совсем удобно для пользователя, потому что месяц будет фактически месяцем, а не месяцем, который я выбрал ранее.

Мой код выглядит так:

drop: function(date, allDay) { // this function is called when something is dropped

    // 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 to the same 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" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
    $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);

    var formdata = "startdatum="+copiedEventObject.start;

    $.ajax({
     url: '<cfoutput>#application.TartalomURL#</cfoutput>mod_Kalender/act_event_ins.cfm',
     data: formdata,
     type: "POST",
     dataType: "json",
     cache: false,
     success: function(responseText){
     $('#calendar').fullCalendar('updateEvent', responseText.NewID);
     }
      }); 
},

Кто-нибудь знает, что я неправильно программирую?

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Пожалуйста, обратитесь к полной документации календаря: arshaw fullcalendar updateEvent

Вам необходимо событие для использования метода updateEvent, т. Е .:

 $.ajax({
    url: '<cfoutput>#application.TartalomURL#</cfoutput>mod_Kalender/act_event_ins.cfm',
    data: formdata,
    type: "POST",
    dataType: "json",
    cache: false,
    success: function(responseText){
        originalEvent.id = responseText.newid; //use the originating event object and update it
        $('#calendar').fullCalendar('updateEvent', originalEvent);
    }
  }); 
2 голосов
/ 03 декабря 2010

Поскольку JavaScript чувствителен к регистру, в следующей строке:

$('#calendar').fullCalendar('updateEvent', responseText.NewID)

будет

$('#calendar').fullCalendar('updateEvent', responseText.newid)
...