json array for events array in jQuery fullcalendar

吃可爱长大的小学妹 提交于 2019-12-10 22:46:27

问题


i'm using jQuery fullcalendar and i must set events dynamically, from a query, using a JSON array, for now i'm trying with a static array. This is my code:

<?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;

it doesn't work... Can someone help me? Thank's


回答1:


Problem is in your code. Try below one.

<?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;

Hope, this will work..!!!



来源:https://stackoverflow.com/questions/40104390/json-array-for-events-array-in-jquery-fullcalendar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!