如果在事件数组中获取事件,如果给js_array的工作提供修复索引,我会做什么,但是当我尝试通过for循环时它不起作用。当我在数组中推送var并在数组中打印时它也无法正常工作。
如何设置我的事件动态并在此数组中设置我为此做什么
以下是我正在做的事情的例子。
<script>
var js_array = new Array();
$(document).ready(function() {
var js_array =<?php echo json_encode($date);?>;
var js_array1 =<?php echo json_encode($time);?>;
var js_arr = js_array.length;
for (var i = 0; i < js_arr; i++) {
var evn ="{ title: All Day Event, start: "+js_array[i]+" },";
var array3 = new Array;
array3.push(evn);
var test = array3.toString();
console.log(test);
//alert(test);
}
$('#calendar').fullCalendar({
defaultDate: '2016-09-01',
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
//for (var i = 0; i < js_arr; i++) {
{
title: 'Appoinment',
start: js_array[0]
},
//}
{
title: 'Long Event',
start: js_array[1]
},
{
id: 999,
title: 'Repeating Event',
start: '2016-09-1216:00:00'
},
{
title: 'Repeating Event',
start: '2016-09-1216:00:00'
},
{
id: 999,
title: 'Repeating Event',
start: '2016-09-12T16:00:00'
},
{
title: 'Conference',
start: '2016-09-12',
end: '2016-09-13'
},
{
title: 'Conference',
start: '2016-09-12',
end: '2016-09-13'
},
{
title: 'Meeting',
start: '2016-09-12T10:30:00',
end: '2016-09-12T12:30:00'
},
{
title: 'Click for any link',
url: 'http://google.com/',
start: '2016-09-28'
}
]
//events: [test]
});
});
</script>
答案 0 :(得分:0)
根据FullCalendar,“events”属性必须是数组,函数或返回JSON对象的URL。
您的原始代码(对于其他人阅读,请参阅编辑历史记录)试图在数组声明中运行for循环。这是完全无效的JS。我认为你的浏览器出现了控制台错误,尽管你没有提到。
您需要将此循环包含在函数中,然后从函数中返回事件数组(根据https://fullcalendar.io/docs/event_data/events_function/):
$('#calendar').fullCalendar({
defaultDate: '2016-09-01',
editable: true,
eventLimit: true, // allow "more" link when too many events
events: function(start, end, timezone, callback) {
var event_arr = [];
for (var i = 0; i < js_array.length; i++) {
event_arr.push({
title: 'Appointment',
start: js_array[i]
//add any other properties here as required, e.g. end date/time
});
}
callback(event_arr);
}
});
P.S。这是解决这个特定问题的最简单的解决方案,但是如果您可以控制PHP从服务器返回的内容,我会以fullCalendar所需的正确格式返回一组事件,而不是在像这样的客户端。以这种方式管理它会更容易(在我看来)。例如,那么你可以写下这样的东西:
events: <?php echo json_encode($calendarEvents);?>
在客户端。并且您可以更改PHP以将正确的信息插入到$calendarEvents
数组中的对象中。