我遇到过滤事件的问题:
然后,
.fullCalendar('removeEvents');
)添加特定事件
(使用renderEvents添加目前无法正常工作)
现在我的问题出现了:
然而,当我第一次使用它时,当我选择另一个“驱动程序”时,事件就会消失,因为之前有'removeEvents' - Action。
那么,我怎样才能解决这个问题,我只能显示已过滤的事件并保持其他事件(所有事件的实际情况)再次过滤第二次,第三次?
$('#' + id).fullCalendar('refetchEvents');
是第一个想法,然而,它带来了所有后退和选定的问题加倍(等等)。
我很感激每一个提示。
答案 0 :(得分:0)
好的我认为您可以使用fullCalendar的eventRender功能解决您的问题。
该函数也可以返回false以完全取消事件的呈现。
来自events.json的活动应该有像' driver_id'这样的属性。
我会选择字段而不是下拉列表,选项键是驱动程序ID,值 - 名称或其他。让我们说它的id是' driver_select'。
然后渲染这样的事件:
$('#calendar').fullCalendar({
//...
eventRender: function(event, element) {
//driver select should have default value assigned or else no events will be rendered
if ($("#driver_select").val() !== event.driver_id) {
return false; //do not render other driver events
}
}
//...
});
处理选择更改以更新
$("#driver_select").off('change').on('change', function() {
$("#calendar").fullCalendar( 'refetchEvents' );
});
另一种方法是在时间轴中显示所有驱动程序。为此,您可以使用FullCalendar Scheduler。