问题
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