1

我在 FullCalendar 上遇到了一个愚蠢的问题,一旦我运行我的回调函数,事件就会从页面上消失。

这是我的日历设置

var calendarSettings = {
    selectable: true,
    selectHelper: true,
    editable: true,
    events: '/ajaxCalenderEvents',
    timeFormat: 'yyyy-MM-dd',
    eventDrop: function(object){
        calendar.drop(object);
        //console.log(object);
    }
}

这是 eventDrop 事件调用的函数,

calendar = {
    drop: function(o){
        o.start = $.fullCalendar.formatDate(o.start, 'yyyy-MM-dd');
        o.end = $.fullCalendar.formatDate(o.end, 'yyyy-MM-dd');
        $.post('/ajaxMoveDateRange', {data: o}, function(data){
        }, "json");
    }
}

但是,当我拖放事件时,它会完美地触发 ajax 请求,但事件会消失。

但。

如果我这样做:

var calendarSettings = {
    selectable: true,
    selectHelper: true,
    editable: true,
    events: '/ajaxCalenderEvents',
    timeFormat: 'yyyy-MM-dd',
    eventDrop: function(o){
        o.start = $.fullCalendar.formatDate(o.start, 'yyyy-MM-dd');
        o.end = $.fullCalendar.formatDate(o.end, 'yyyy-MM-dd');
        $.post('/ajaxMoveDateRange', {data: o}, function(data){
        }, "json");
    }
}

并具有内联功能,它工作正常。

然而,我们正在使用的文件结构/模型意味着我们需要像以前一样格式化它,调用外部函数。

有人知道这可能发生的任何原因吗?我已经尝试返回 true 和东西,并在文档中搜索但找不到任何东西,所以任何帮助将不胜感激。

谢谢

4

1 回答 1

0

有趣的。如您所知,eventDrop 与 drop 不同。eventDrop 用于内部拖放已经在日历上的事件,而 drop 用于将外部事件拖到日历上。

无论如何尝试

$.fullCalendar.formatDate(start, 'yyyy\'-\'MM\'-\'-\'dd');
于 2013-10-22T04:42:30.180 回答