2011-06-18 174 views
2

在我的网站上,我放置了“隐藏空闲时间”和“显示空闲时间”按钮。jQuery FullCalendar:使用renderEvent()方法渲染事件失败

当用户点击“隐藏”,下面的代码将运行与ID为“普通”和“救济”的所有事件对象来获取“空闲时间”阵:

function hideFreeTime() { 
    freeTime.length = 0; 
    freeTime = $('#calendar').fullCalendar('clientEvents', 'free'); 
    $('#calendar').fullCalendar('removeEvents', 'free'); 
} 

当用户点击“秀”,下面的代码将运行呈现“空闲时间”数组中的事件对象:

function showFreeTime() { 
    for(var i = 0; i < freeTime.length; i++) { 
     $('#calendar').fullCalendar('renderEvent', freeTime[i]); 
    } 
} 

上面的代码可以隐藏事件,但我不知道为什么就不能重新渲染隐藏的事件。

function showFreeTime() { 
for(var i = 0; i < freeTime.length; i++) { 
    if (freeTime[i].id == 'regular') $('#calendar').fullCalendar('renderEvent', 
    { 
     id: 'free', 
     title : 'Free Time', 
     start : freeTime[i].start, 
     end : freeTime[i].end 
    }); 
} 

}

可能有人请给我一个解释: 但是,如果我改变 “showFreeTime()” 函数如下它的工作? =)

最好的问候, 詹姆斯

回答

3

我也有过类似的问题,并能够通过以下检查来解决它。开始和结束时间的格式不正确,或者全天事件默认为真。

allDay true或false。可选的。

当指定事件或eventSources事件对象,省略 此属性将使其从allDayDefault,这是正常 真正继承。

start 日期。需要。

当指定事件或eventSources事件对象,你可以 指定IETF格式一个字符串(如: “星期三,2009年10月18日13:00:00 EST”),以ISO8601格式的字符串(例如:“2009-11-05T13:15:30Z”) 或UNIX时间戳。

+0

你是如何解决时间格式问题的? OP显示重新创建事件似乎颇为棘手。 –

+0

@GarrettLancaster - 我在将服务器返回给客户端之前在服务器上格式化日期。 – drneel