2013-08-28 4 views
2

Я хочу обновить свой json в fullcalendar, вот что я точно пытаюсь сделать. У меня есть строка JSON, которую я непосредственно пытаюсь подключить к объектам события в полном календаре.Как обновить событие в fullCalendar?

->

var JSON[ 
    { 
     "id": "1", // Optional 
     "title": "Demo event", // Required 
     "start": "2013-08-28 10:20:00", // Required 
     "end": "2013-08-28 11:00:00", // Optional 
     "allDay": false, // Optional 
     "url": "http://google.com", // Optional, will not open because of browser-iframe security issues 
     "className": "test-class", // Optional 
     "editable": true, // Optional 
     "color": "yellow", // Optional 
     "borderColor": "red", // Optional 
     "backgroundColor": "yellow", // Optional 
     "textColor": "green" // Optional 
    }, 
    { 
     "id": "2", // Optional 
     "title": "Demo event 2", // Required 
     "start": "2013-08-27 10:20:00", // Required 
     "end": "2013-08-27 11:00:00", // Optional 
     "allDay": false, // Optional 
     "url": "http://google.com", // Optional, will not open because of browser-iframe security issues 
     "className": "test-class", // Optional 
     "editable": true, // Optional 
     "color": "yellow", // Optional 
     "borderColor": "red", // Optional 
     "backgroundColor": "yellow", // Optional 
     "textColor": "green" // Optional 
    } 
]; 

,

Затем я хочу изменить JSON на некотором ниспадающего событие (не показано на скрипке) на новую строку и попытаться получить новое мероприятие календарь.

Полный календарь не вступает в силу.

http://jsfiddle.net/pratik24/u8Ksw/28/

Спасибо за помощь. ценить это.

ответ

6

Вы не вызываете правильный метод fullCalendar для визуализации новых событий.

Это не будет работать, так как он предназначен только для визуализации событий в первый раз вокруг:

$("#demo-calendar").fullCalendar('renderEvents', JSON); 

Вместо этого вам нужно удалить события в календаре и обновить их:

$("#demo-calendar").fullCalendar('removeEvents'); 
    $("#demo-calendar").fullCalendar('addEventSource', JSON); 

Проверьте скрипт: http://jsfiddle.net/shaunp/u8Ksw/29/

ПРИМЕЧАНИЕ, что существует метод fullCalendar под названием refetchEvents, но он НЕ работает над массивом событий, например, тем, что вы создали, поэтому вы должны вручную отключить события и снова добавить источник события.

+0

большое спасибо. это то, что я действительно искал, но не мог понять. – patz

Смежные вопросы