После того, как событие создано, оно сохраняется в базе данных и ожидает ответа как уникальный идентификатор (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);
}
Есть ли это решение исходной проблемы. Благодарю.