我有一个小网页应用。我在.jsp文件中使用了日历(来自here FullCalendar的代码)。
我使用Spring mvc架构。因此,当此页面加载了一个负责此页面加载的控制器时,会向calendarEventList
添加一个名为model
的属性。
'calendarEventList'是ArrayList<calObject>
。 calObject是一个包含有关even的详细信息的类。
我可以通过${calEvent.eventID}
访问jsp中的这些详细信息,其中calEvent
是该ArrayList中的Object。
在FullCalendar中,可以调用事件加载,如下所示
$('#calendar').fullCalendar({
events: [
{
title : 'event1',
start : '2010-01-01'
},
{
title : 'event2',
start : '2010-01-05',
end : '2010-01-07'
},
{
title : 'event3',
start : '2010-01-09 12:30:00',
allDay : false // will make the time show
}
]
});
我想要的就像下面的
$('#calendar').fullCalendar({
events: //read the `calendarEventList` and create a suitable array
});
我在title
中有start
,end
,Oblect of the calendarEventList
..详细信息。
所以我想创建我需要提供给fullcalendar
的列表。我怎样才能在JS中创建这样一种数组。
它的结构应与示例中给出的[{},{},{},...,{},{}]
匹配。 {}
包含有关calendarEventList
ArrayList中的一个对象的详细信息。
任何详细描述都将受到高度赞赏。
答案 0 :(得分:1)
如果我真正理解你的问题(你有对象数组,所有对象都包含不同的字段,但每个对象包含title,start(和end))。所以你的任务是过滤这个数组。
解决方案:
function factory(array){
return array.map(function(item){
var instance = {title: item.title, start: item.start};
if(item.end) instance.end = item.end;
return item;
});
}
var res = factory([{ item: 1, title: 2, start: 4, an: 123, pp: "asdf"}, { item: 2, title: 2, start: 4, end: 5}, { item: 3, title: 2, start: 4}]);
输出将被过滤为具有开始,标题,(结束)字段的对象数组;
尝试demo
答案 1 :(得分:0)
试试我的例子:
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var employees = [];
employees.push({ id: 111, title: "Testing Event 001", start: new Date(y, m, d-5,10,30) , end: new Date(y, m, d-5,12,30),className: ['yellow-event', 'black-text-event']});
employees.push({ id: 111, title: "Testing Event 002", start: new Date(y, m, d-3,10,30) , end: new Date(y, m, d-3,12,30),className: ['yellow-event', 'black-text-event']});
events: employees
上的就像这样, 希望它能帮到满满的。谢谢你......