2016-10-18 4 views
2

Я использую jQuery fullcalendar, и я должен устанавливать события динамически, из запроса, используя массив JSON, пока я пытаюсь использовать статический массив. Это мой код:json array для массива событий в jQuery fullcalendar

<?php 
     $arr = array(
      array(
       "title" => "first", 
       "start" => "2016-10-18T10:00", 
       "end" => "2016-10-18T11:00" 
      ), 
      array(
       "title" => "second", 
       "start" => "2016-10-18T12:00", 
       "end" => "2016-10-18T13:00" 
      ), 
      array(
       "title" => "third", 
       "start" => "2016-10-18T16:00", 
       "end" => "2016-10-18T17:00" 
      ) 
     ); 

     json_encode($arr); 
    ?> 

$(document).ready(function() { 
     var initialLocaleCode = 'it'; 
     var events = [$arr]; 
     var eventsArray = []; 
     console.log('e',events); 
     $.parseJSON(events).forEach(function(element, index){ 
      eventsArray.push({ 
       title:element.title, 
       description:element.description.substring(0,30), 
       start:new Date(element.start).toISOString(), 
       end:new Date(element.end).toISOString(), 
     }) 
     } 
    } 

     $('#calendar').fullCalendar({ 
      header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay,listMonth' 
      }, 
      defaultDate: '2016-09-12', 
      locale: initialLocaleCode, 
      buttonIcons: false, // show the prev/next text 
      weekNumbers: true, 
      navLinks: true, // can click day/week names to navigate views 
      editable: true, 
      eventLimit: true, // allow "more" link when too many events 
      events: eventsArray; 

это не работает ... Может кто-нибудь мне помочь? Thank's

+0

Проверьте, есть ли у вас ошибка в консоли на вашем веб-браузере? Я думаю, что в конце концов двоеточие - это просто синтаксическая ошибка, когда вы скопировали свой код здесь. – Debflav

+0

И 'var events = [$ arr];'. Вы смешиваете Javascript/PHP – Debflav

+0

У меня есть ошибка в консоли, это: Неожиданный токен) – Edoardo

ответ

0

Проблема в вашем коде. Попробуйте ниже.

<?php 
     $arr = array(
      array(
       "title" => "first", 
       "start" => "2016-10-18T10:00", 
       "end" => "2016-10-18T11:00" 
      ), 
      array(
       "title" => "second", 
       "start" => "2016-10-18T12:00", 
       "end" => "2016-10-18T13:00" 
      ), 
      array(
       "title" => "third", 
       "start" => "2016-10-18T16:00", 
       "end" => "2016-10-18T17:00" 
      ) 
     ); 

     $jsonArr = json_encode($arr); 
    ?> 

$(document).ready(function() { 
     var initialLocaleCode = 'it'; 
     var events = <?php echo $jsonArr; ?>; 
     var eventsArray = []; 
     console.log('e',events); 
     $.parseJSON(events).forEach(function(element, index){ 
      eventsArray.push({ 
       title:element.title, 
       description:element.description.substring(0,30), 
       start:new Date(element.start).toISOString(), 
       end:new Date(element.end).toISOString(), 
     }) 
     } 
    } 

     $('#calendar').fullCalendar({ 
      header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay,listMonth' 
      }, 
      defaultDate: '2016-09-12', 
      locale: initialLocaleCode, 
      buttonIcons: false, // show the prev/next text 
      weekNumbers: true, 
      navLinks: true, // can click day/week names to navigate views 
      editable: true, 
      eventLimit: true, // allow "more" link when too many events 
      events: eventsArray; 

Надеюсь, это сработает .. !!!

+0

консоль скажите мне: Неожиданный токен » – Edoardo

+0

теперь ошибка: Неожиданный токен <в JSON в позиции 0 в файле jquery.min.js – Edoardo

+0

либо используют '' '' '' или '' ' '' ' – Craftein

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