我需要使用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循环中。有什么线索可以解决它吗?
答案 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
,只能在一个循环中完成。