我正在开发jQuery插件fullcalendar的多用户版本。每个用户都有独特的颜色。您可以在下拉列表中更改用户。因此,我可以为用户现有事件指定颜色。
问题是当您渲染新事件时,初始化时分配给fullCalendar的'eventColor'属性的颜色不会更改。
假设用户1具有例如蓝色事件。我使用'eventColor'蓝色初始化fullCalendar。当我和我更改为具有黄色事件的用户2时,呈现的事件仍显示蓝色事件。从我开始拖动直到我发布活动的那一刻起,我希望活动是黄色的。
我尝试使用$('。calendar')更改事件呈现颜色.fullCalendar('option','eventColor','NEW_COLOR_HERE');但这不起作用。
有人发现自己处于相同的情况并想出了解决方案吗? :)
答案 0 :(得分:0)
答案 1 :(得分:0)
function option(name, value) {
if (value === undefined) {
return options[name];
}
if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') {
options[name] = value;
updateSize();
}
// So I added these lines to the plugin and voila, it works like charm!
if(name == 'eventColor') {
options[name] = value;
}
}
通过
在您的脚本中调用它$('.calendar').fullCalendar('option', 'eventColor', '#NEW_COLOR_HERE');
答案 2 :(得分:0)
以编程方式更改事件颜色的一种方法,首先使用clientEvents
检索事件(基于其ID),更改其颜色,最后使用updateEvent
重新呈现事件:
event = $('#full-calendar').fullCalendar('clientEvents', event_id)
event.color = 'red'
$('#full-calendar').fullCalendar('updateEvent', event)