在渲染后更改Fullcalendar事件参数



创建事件后,将其保存到数据库中,并等待作为唯一id (itemId)的响应。

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'?

我可以在响应成功后呈现事件,但由于ajax是异步的,它需要一段时间,直到事件呈现如下

success: function(data) {
                    console.log('Added Successfully: '+data);
                    eventData.itemId = parseInt(data);
                    $('#calendar').fullCalendar('renderEvent', eventData, true);

               }

原始问题是否有解决方案。谢谢。

我有召回事件加载函数一旦ajax响应成功。

success: function (response) {
    $('#calendar').fullCalendar('removeEvents');
    $('#calendar').fullCalendar('refetchEvents');
},

相关内容

  • 没有找到相关文章

最新更新