2015-07-12 3 views
0

После того, как событие создано, оно сохраняется в базе данных и ожидает ответа как уникальный идентификатор (itemId).изменить параметр события Fullcalendar после рендера

select: function(start, end, jsEvent) { 

     var title = projectName; 
     var eventData; 
     if (title) { 
      eventData = { 
       id: getId(), 
       itemId: 0, 
       projectId: projectId, 
       color: projectColor, 
       title: title, 
       start: start, 
       end: end, 
       allDay: 0 
      }; 
      $('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true 
      //******** create event time 

      $.ajax({ 
       url: 'index.php?call=saveItem', 
       data: {title: eventData.title, start: start.format(), end: end.format(), pid: eventData.projectId, allDay: eventData.allDay}, 
       type: "POST", 
       success: function(data) { 
        console.log('Added Successfully: '+data); 
        eventData.itemId = parseInt(data); 
       }, 
       fail: function(jqXHR, textStatus, errorThrown) { 
        console.log('error: '+jqXHR+":"+textStatus+":"+errorThrown); 
       } 

      }); 

     } 

Я Itemid вернулся на «успех», но как же я теперь обновлять Itemid в случае некоторого числа, которое я получил от сервера вместо «0»?

я могу вынести это событие после того, как ответ успешный, но так как это Аякс асинхронный, это занимает время, пока событие не оказывает, как так

success: function(data) { 
        console.log('Added Successfully: '+data); 
        eventData.itemId = parseInt(data); 

        $('#calendar').fullCalendar('renderEvent', eventData, true); 


       } 

Есть ли это решение исходной проблемы. Благодарю.

ответ

0

У меня есть функция загрузки события после успешного ответа на ajax.

success: function (response) { 
    $('#calendar').fullCalendar('removeEvents'); 
    $('#calendar').fullCalendar('refetchEvents'); 
}, 
Смежные вопросы