2014-12-19 4 views
0

Я пытаюсь разработать приложение, где я должен использовать этот календарь: http://fullcalendar.io/Как я могу заполнить календарь с помощью javascript?

Проблема заключается в том, что я могу заполнить его вручную, но я не могу заполнить его из моей базы данных.

Это функция, которая заполнит календарь:

$('#calendar').fullCalendar({ 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,agendaWeek,agendaDay' 
     }, 
     editable: true, 
     eventLimit: true, 
     events:[ 
      { 
       title: "aaaa", 
       start: "2014-12-12" 
      }, 
      { 
       title: "bbb", 
       start: "2014-12-13" 
      } 
     ] 


    }); 



}); 

и это функция, которая позволяет мне получить мои данные из базы данных:

function getEvents(db){ 

     db.transaction(function (tx) { 
     tx.executeSql('SELECT * FROM NOTES', [], function (tx, results) { 
      // var allEvents = []; 
      var allEvents=[]; 

      for (var i = 0; i < results.rows.length; i++){ 
      //var event = {}; 
      allEvents.push({ 
       title: results.rows.item(i).note, 
       start: results.rows.item(i).whenn 

      }); 


      } 


      $.each(allEvents, function(idx, obj){ 
       alert(obj.title); 
       }); 
     }, null); 

     }); 



    }; 

Когда я вызываю функцию GetEvents (db) в событиях, он показывает мне оповещения, но не заполняет календарь.

PS: Я не могу использовать php-файлы.

+1

Вы имеете в виду заполнение вместо полного правильного? – Mivaweb

+0

да я имею в виду заполнить –

ответ

0

Вы можете использовать renderEvent

.fullCalendar('renderEvent', event [, stick ]) 

, который, как следует из названия, делает новое событие в календаре.

Согласно the docs, событие должно быть Объектом события с заголовком и начинаться как минимум. Как правило, событие исчезает после того, как календарь повторяет его источники событий (пример: когда нажимается предыдущее/следующее). Однако указание палки как истины приведет к постоянному закреплению события в календаре.

Для вас, я думаю, это было бы перевести на что-то вроде:

$.each(allEvents, function(idx, obj){ 
    $('#calendar').fullCalendar('renderEvent', obj); 
}); 

Я не использовал fullCalendar, но если это не работает, сделать скрипку, что у вас есть, и я Я сделаю вам рабочий пример.

+0

Это не сработало. Он показал мне белую страницу! –

+0

Можете ли вы сделать скрипку, демонстрирующую вашу проблему? –

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