2014-11-08 36 views
1

調整大小事件後,它會返回一個不正確的結束日期。我不明白爲什麼..fullcalendar不正確活動的結束日期eventResize

我使用這個代碼:

$('#calendar').fullCalendar({ 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,basicWeek,basicDay' 
    }, 
    defaultDate: '2014-11-07', 
    editable: true, 

    eventDrop: function(event){ 
     event.start._i = event.start.format(); 
    }, 
    eventResize: function(event) { 
     event.end._i = event.end.format(); 
    }, 

    eventLimit: true, // allow "more" link when too many events 
    events: [{ 
     id: 'All Day Event', 
     title: 'All Day Event', 
     start: '2014-11-03' 
    }, { 
     id: 'popo', 
     title: 'popo', 
     start: '2014-11-04T10:30:00', 
     end: '2014-11-05T12:30:00', 
     description: 'This is a cool event' 
    }, { 
     id: 'popo2', 
     title: 'popo2', 
     //url: 'http://google.com/', 
     start: '2014-11-06' 
    }] 
}); 

如果我簡單的把事件(拖&下降),它工作正常並正確返回起始日期,

,但如果我調整的情況下,它會返回一個不正確的結束日期,
也開始日期變得不正確..

DEMO

+0

看起來對我? – 2014-11-08 09:43:01

回答

0

我已經創建Plunker在這裏你可以看到更新的製作過程。

重要的是,當您修改事件時,您正在修改的對象是來自fullCalendar('clientEvents')的對象;

這樣的事情會失敗:

myEvent = { 
     id: 1, title : "myTitle", start: moment() 
    } 
    .fullCalendar('renderEvent', myEvent); 
    mySlot.myTitle = "anotherTitle"; 
    .fullCalendar('updateEvent', myEvent); 

但是這將工作:

myEvent = { 
     id: 1, title : "myTitle", start: moment() 
    } 
    .fullCalendar('renderEvent', myEvent); 
    myFCEvent = .fullCalendar('clientEvents', 1); 
    myFCEvent.title = "Another title"; 
    .fullCalendar('updateEvent', myFCEvent); 

Demo Plunker

0

我的回答來得晚,但在this post正如所說,event.start._i由Moments.js用於內部邏輯。

你的event.start確實包含你的更新日期(我認爲它位於event.start_d),但你不需要使用這些內部對象,因爲FullCalendar會考慮它們並使用正確的(更新的)日期本身。

相關問題