我正在使用来自http://arshaw.com/fullcalendar/的Fullcalendar,我有搜索stackoverflow但没有适合我的问题,或者我没有理解。如果这已经是安装,请粘贴链接。
我有一个返回事件的xml文件:
事件示例:
<event allDay="false" editable="true" end="Mon Apr 29 2013 15:30:00 GMT+0100" id="53" start="Mon Apr 29 2013 08:30:00 GMT+0100" title="tesete"/>
如果您注意到开始和结束日期,则时间格式保存为这样。
当我像这样获取事件时:
events: function(start, end, callback) {
$.ajax({
type: 'POST',
url: url,
dataType:'xml',
crossDomain: true,
data: {
// our hypothetical feed requires UNIX timestamps
start: Math.round(start.getTime() / 1000),
end: Math.round(end.getTime() / 1000),
'ajax':true,
'acc':'2',
},
success: function(doc) {
var events = [];
$(doc).find('event').each(function()
{
events.push({
id: $(this).attr('id'),
title: $(this).attr('title'),
start: $(this).attr('start'),
end: $(this).attr('end'),
allDay: $(this).attr('allDay'),
editable: $(this).attr('editable')
});
});
callback(events);
}
});
},
所有事件都在月视图中正确显示,但是当我切换到agendaView或dayView时,事件仅在allDay栏中,它们不会在特定小时之间呈现。
start="Mon Apr 29 2013 08:30:00 GMT+0100" end="Mon Apr 29 2013 15:30:00 GMT+0100" id="53"
例如从8:30到15:30
我缺少什么?
解决问题的方法:
events: function(start, end, callback) {
$.ajax({
type: 'POST',
url: 'myurl',
dataType:'xml',
crossDomain: true,
data: {
// our hypothetical feed requires UNIX timestamps
start: Math.round(start.getTime() / 1000),
end: Math.round(end.getTime() / 1000),
'ajax':true,
'acc':'2',
},
success: function(doc) {
var events = [];
var allday = null; //Workaround
$(doc).find('event').each(function()
{
if($(this).attr('allDay') == "false") //Workaround
allday = false; //Workaround
if($(this).attr('allDay') == "true") //Workaround
allday = true; //Workaround
events.push({
id: $(this).attr('id'),
title: $(this).attr('title'),
start: $(this).attr('start'),
end: $(this).attr('end'),
allDay: allday,
editable: $(this).attr('editable')
});
});
callback(events);
}
});
},
答案 0 :(得分:0)
Var allDay不能是字符串。它应该是allDay=false
,不带引号