я очень сильно сложен, чтобы отображать события, обновляя запись в моей базе данных. Первоначально я успешно визуализировал события;
У меня есть массив событий как:
{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new
Date(2013, m, 05, 10,00), allDay: false},{title: 'Available', start:
new Date(2013, m, 04, 00,20), end: new Date(2013, m, 04, 00,50),
allDay: false}
Который будет отображаться в каландре через:
events:[<?php echo $events?>]
До этого код работает хорошо и отображает событие в соответствии с требованиями.
После нажатия кнопки «Предыдущий» я должен отображать события, обновляя базу данных. Это что-то вроде этого:
$('.fc-button-next span').live('click', function() {
var calandar = $('#calandar');
$.ajax({
url: 'fetchEvents',
dataType: 'JSON',
type: 'POST',
success: function(doc) {
calandar.fullCalendar('removeEvents',event),
calandar.fullCalendar( 'renderEvent',doc.events);
calandar.fullCalendar('rerenderEvent',doc.events);
}
});
});
Где "fetchEvents" возвращает тот же формат события, что и раньше, но в формате JSON, например:
"{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new Date(2013, m, 05, 10,00), allDay: false}"
Не знаю, как отображать объекты событий JSON при событии следующего щелчка. То есть я должен отображать совершенно новые события через вызов ajax. Пожалуйста, предложите.
Решено:
Вместо событий, которые я создал, я создаю JSON
событий, как предложил Лукаш Козиара, как в его первом предложении, чтобы каждый раз, когда происходит событие календаря, оно получало eventSource
для получения событий. СОБЫТИЕ JSON
[{"title":"Available","start":"2013-06-06 05:20:00","end":"2013-06-06 05:50:00","allDay":false}]
Вместо событий я сделал вызов ajax с помощью in eventSources
, чтобы получить этот тип JSON EVENTS.
. Это выглядит так:
eventSources: [{
url: 'fetchEvents',
type: 'POST'
}]
Таким образом, когда calander
рендерится в первый раз или нажимаются кнопки next
, previous
или today
, calander
он сам выбирает события, как указано eventSources.