专家Javascript迭代
我想迭代事件列表,但在使用专家Javascript迭代,javascript,Javascript,我想迭代事件列表,但在使用for循环时失败;是否有任何解决方案来循环这部分事件: - events: { - title: listtask[i].libelle_task, - start: listtask[i].date_task, - end: listtask[i].date_end, - url: listtask[i].url_task, - backgroundColor:"#f56954",//red - borderColor: "#f56954"/
for
循环时失败;是否有任何解决方案来循环这部分事件:
- events: {
- title: listtask[i].libelle_task,
- start: listtask[i].date_task,
- end: listtask[i].date_end,
- url: listtask[i].url_task,
- backgroundColor:"#f56954",//red
- borderColor: "#f56954"//red
- },
<script type="text/javascript" th:inline="javascript" >
/*<![CDATA[*/
var listtask = /*[[${listtask}]]*/[] ;
var i = 0;
var lgt = listtask.length;
$(function() {
function ini_events(ele) {
ele.each(function() {
var eventObject = {
title: $.trim($(this).text())
};
});
}
ini_events($('#external-events div.external-event'));
var date = new Date();
var d = date.getDate(),
m = date.getMonth(),
y = date.getFullYear();
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: ''
},
buttonText: {
today: 'Aujourdhui',
},
events: [
for(var i=0;i<lgt;i++) {
{
title: listtask[i].libelle_task,
start: listtask[i].date_task,
end: listtask[i].date_end,
url: listtask[i].url_task,
backgroundColor: "#f56954", //red
borderColor: "#f56954" //red
},
}
],
editable: false,
droppable: false,
drop: function(date, allDay) {
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
}
});
});
/*]]>*/
</script>
-事件:{
-标题:listtask[i]。libelle_任务,
-开始:listtask[i]。日期任务,
-结束:listtask[i]。日期\u结束,
-url:listtask[i]。url\u任务,
-背景颜色:“f56954”//红色
-边框颜色:#f56954//红色
- },
/**/
关于事件循环,使用IIFE评估对象
events : listtask.map(function(ele) {
return {
title: ele.libelle_task,
start: ele.date_task,
end: ele.date_end,
url: ele.url_task,
backgroundColor: "#f56954", //red
borderColor: "#f56954" //red
}
});
顺便说一句:
在eventObject
中,这将引用eventObject
,而不是dom
所以使用
function ini_events(ele) {
ele.each(function(el) {
var eventObject = {
title: $.trim($(el).text())
};
});
}
或
您可以使用†将输入
列表任务
列表转换为事件
数组,而不是使用for循环:
var listtask = [a, b, c]; // whatever
$('#calendar').fullCalendar({
// ...
events: _.map(listtask, function(task) {
return {
title: task.libelle_task,
start: task.date_task,
end: task.date_end,
url: task.url_task,
backgroundColor: "#f56954", //red
borderColor: "#f56954" //red
};
})
// ...
});
†较新的浏览器以本机方式实现
map
功能。请格式化您的代码。学习所用语言的基础知识会使您受益匪浅:表达式不能是数组的元素。如何使用push实现这一点?
function ini_events(ele) {
ele.each(function() {
var self = this;
var eventObject = {
title: $.trim($(self).text())
};
});
}
var listtask = [a, b, c]; // whatever
$('#calendar').fullCalendar({
// ...
events: _.map(listtask, function(task) {
return {
title: task.libelle_task,
start: task.date_task,
end: task.date_end,
url: task.url_task,
backgroundColor: "#f56954", //red
borderColor: "#f56954" //red
};
})
// ...
});