jQuery fullcalendar中的事件数组

json array for events array in jQuery fullcalendar

本文关键字:事件 数组 fullcalendar jQuery      更新时间:2023-09-26

我使用jQuery fullcalendar,我必须动态地设置事件,从查询,使用JSON数组,现在我正在尝试使用静态数组。这是我的代码:

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

它不工作…有人能帮帮我吗?谢谢的

问题出在你的代码中。

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

希望,这将工作…!