不能使用for循环来填充fullcalendar中的数组

时间:2018-05-14 17:10:56

标签: javascript php loops calendar fullcalendar

我需要使用javascript填写日历fullcalendar,我有这些代码,其中数据是我从数据库中收到的,但它发送错误:

 var i;
 var events=[];
 var color_hour=[];
 for(i=0;i<data.length;i++){
   if(data[i]['hour_status_id']=="1" || data[i]['hour_status_id']=="2" || data[i]['hour_status_id']=="3"){ color_hour[i]="red"; } else if(data[i]['hour_status_id']=="0"){ color_hour[i]="blue"; }
 }
 events=[
   for(i=0;i<data.length;i++){
    { 
     id : data[i]['medical_agenda_id'], 
     start : data[i]['date']+'T'+data[i]['time_start'], 
     end : data[i]['date']+'T'+data[i]['time_end'], 
     color: color_hour[i],
    },
   }
 ]

似乎错误出现在数组内的for循环中。有什么线索可以解决它吗?

1 个答案:

答案 0 :(得分:2)

您不能在数组声明中使用for。您可以使用Array.push()在其中添加元素。

var i;
var events=[];
var color_hour=[];
for(i=0;i<data.length;i++) {
    if(data[i]['hour_status_id']=="1" || data[i]['hour_status_id']=="2" || data[i]['hour_status_id']=="3"){ 
        color_hour[i]="red"; 
    } 
    else if(data[i]['hour_status_id']=="0"){ 
        color_hour[i]="blue"; 
    }
    events.push({ 
        id : data[i]['medical_agenda_id'], 
        start : data[i]['date']+'T'+data[i]['time_start'], 
        end : data[i]['date']+'T'+data[i]['time_end'], 
        color: color_hour[i],
    });
}

请注意,似乎不需要两个for,只能在一个循环中完成。