eventDrop完整日历不移动活动

时间:2015-11-04 02:47:31

标签: javascript jquery ajax events fullcalendar

eventDrop: function(event, delta, revertFunc) {

    console.log(event.title + " is moved on " + event.start.format());
    var page = '../include/UpdateCalendarEvent.php';
    $("#dialog")
        .data('start', event.start.format())
        .data('title', event.title)
        .dialog({
            resizable: false,
            modal: true,
            height: 250,
            position: ['middle', 20],
            width: 500,
            title: event.start.format(),
            open: function(event, ui) {
                var start = $("#dialog").data('start');
                var title = $("#dialog").data('title');
                $("#dialog").html(title + " is moved on " + start);
            },
            close: function(event, ui) {
                revertFunc();
            },
            buttons: {
                Close: {
                    class: 'calendareventright',
                    text: 'Close',
                    click: function() {
                        revertFunc();
                        $(this).dialog('close');
                    }
                },
                Move: {
                    id: "calendareventadd",
                    class: 'calendareventleft',
                    text: 'Move',
                    click: function() {
                        var eventData;
                        eventData = {
                            id: event.id,
                            sysid: event.sysid,
                            start: event.start.format(),
                            end: event.end.format(),
                            title: event.title,
                            description: event.description,
                            otherinfor: event.otherinformation,
                            page: '../include/UpdateCalendarEvent.php'
                        };
                        console.log(JSON.stringify(eventData));
                        ajaxcall(eventData, page);
                        $(this).dialog('close');
                    }
                }
            }
        });

}

这是我的完整日历中的eventDrop功能。我将数据发送到ajax并更新数据库。更新工作完美。我的问题是当我移动事件时出现对话框并要求用户移动事件或关闭。如果用户选择关闭,则事件将恢复。如果用户选择移动事件将更新到这一点就可以了。单击移动按钮后,对话框将关闭。但事件并未移至日期。但是如果页面重新加载,那么它将会移动它的日期。

情景:

我在11月4日举办了活动。我将它移至11月5日(事件现在是11月5日)对话框出现,要求用户移动或关闭。单击move对话框将关闭ajax发送数据库更新但事件将返回到11月4日,如果页面重新加载,事件将移至11月5日

预期:

我希望在点击移动后,活动将在11月5日停留

任何想法都表示赞赏。

ADDITIONAL INFO

如果我使用文档中的代码

eventDrop: function(event, delta, revertFunc) {

    alert(event.title + " was dropped on " + event.start.format());

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

},

它按预期进行。控制台中没有错误

1 个答案:

答案 0 :(得分:1)

首先需要检查两件事

close: function(event, ui) {
    revertFunc();
},

并且

Move: {
    id: "calendareventadd",
    class: 'calendareventleft',
    text: 'Move',
    click: function() {
        var eventData;
        eventData = {
            id: event.id,
            sysid: event.sysid,
            start: event.start.format(),
            end: event.end.format(),
            title: event.title,
            description: event.description,
            otherinfor: event.otherinformation,
            page: '../include/UpdateCalendarEvent.php'
        };
        console.log(JSON.stringify(eventData));
        ajaxcall(eventData, page);
        $(this).dialog('close');
    }
}
}

移动活动后,您调用关闭对话框,在关闭对话框中,您有revertFunc();

要么在移动时不关闭,要么在关闭功能中不恢复