我有一个复选框按钮,我想要重新渲染事件onChange。我调用rerenderEvents函数,但它不会触发我在日历创建脚本中指定的eventRender函数。调用渲染函数$('#calendar')。fullCalendar('render');但是由于某些原因,事件中占据同一天的事件相互重叠而不是堆叠起来。
这是我的代码,其他初始化参数已被删除以提高可读性:
$('#calendar').fullCalendar({
eventRender: function(event, element) {
//alert(event.title);
if(event.status == 1) {
//alert(event.title);
if(!$("#accepted").attr("checked"))
return false;
}
else if(event.status == 2) {
if(!$("#rejected").attr("checked"))
return false;
}
else if(event.status == '') {
if(!$("#nostatus").attr("checked"))
return false;
}
}
})
$("#accepted").change(function() {
$('#calendar').fullCalendar('rerenderEvents');
});
$("#rejected").change(function() {
$('#calendar').fullCalendar('render');
});
答案 0 :(得分:0)
我没有在eventRender中返回false来隐藏事件,而是将一个类添加到设置display:none的元素中。这给了我正在寻找没有重叠的效果。我不得不在更改事件上调用render函数而不是rerenderEvents,因为只有render函数调用eventRender来放置代码来处理它。