如果我在javascript事件数组中通过硬编码指定我的事件,则时间显示在日历上的标题之前:
Javascript代码:
事件:[ { 标题:“我的头衔”, 开始:新日期(2010,9,8,11,12) } ]
导致在我的日历上显示“11:12我的标题”。
但是,当我使用函数创建事件(通过ajax接收数据)时,时间不会显示在日历上。这是ajax成功函数的代码(在这个例子中,我已经硬编码了开始日期,但是如何设置开始日期并不重要,它永远不会显示,只显示标题):
success: function(doc) {
var events = [];
$(doc).find('event').each(function() {
events.push({
title: $(this).find('title').text(),
start: new Date(2010,9,8,11,12),
url: $(this).find('url').text(),
className: $(this).find('className').text(),
allDay: $(this).find('allDay').text()
});
});
callback(events);
}
似乎通过事件功能以不同方式处理开始日期。我已尝试使用“new Date()”或将日期指定为字符串(2010年10月7日,14:10)或作为unix时间戳。它似乎识别日期,因为事件出现在日历的正确日期,但是当我使用ajax函数时,时间不显示。
有什么想法吗?
由于
答案 0 :(得分:1)
也许使用formatDate:
success: function(doc) {
var events = [];
$(doc).find('event').each(function() {
events.push({
title: $(this).find('title').text(),
start: $.fullCalendar.formatDate( new Date(2010,9,8,11,12), 'yyyy-MM-dd HH:mm:ss'),
url: $(this).find('url').text(),
className: $(this).find('className').text(),
allDay: $(this).find('allDay').text()
});
});
callback(events);
}
答案 1 :(得分:1)
根据API,如果allDay
设置为true,那么无论您给出的任何时间都将被视为一整天,它将永远不会显示您想要的时间。
如果您希望该事件在特定时间段内,请将allDay
设置为false。
答案 2 :(得分:0)
可能是allDay选项。也许尝试传递allDay:false,看看会发生什么。当然没有虚假的报价。
答案 3 :(得分:0)
如果我以“2010年10月8日,13:13”格式传递起始字符串,然后将其传递给事件对象而不更改它,则显示时间。我还没完成,但看起来这很有用。