我已经从数据库中加载了一些事件。所有事件都被陶氏(Dow)进行了调整:'',因为我不希望这些事件在特定的日子中复发,除非这样说。我的事件是由外部事件定义的,当将数据拖到日历上时,数据将发送到数据库。
if($(this).text() == 'event1') {
$(this).data('event', {
title: $.trim($(this).text()),
stick: true,
start : '2016-12-01T12:00:00',
allday : false,
dow : ''
...
因此,如果用户希望在周一重演一个事件,则用户按星期一的复选框,然后单击事件,EventClick启动并将DOW属性更改为DOW:[0]。
eventClick: function(event, jsEvent, view) {
console.log("attempting click");
if ($('#day1').is(':checked')) { // day1 is a checkbox for monday
event.dow = [0];
...
这不会使事件复制在所有事件均已启动时在以下周一进行复制。"道琼斯指"只有当您明显定义事件或我错了时将其设置起来时,才能工作?是否有一种方法可以在创建后给定事件并使日历副本进行动态定义。
尝试以下:
$('#calendar').fullCalendar({
weekends: true,
defaultView: 'agendaWeek',
allDaySlot: false,
header: {
left: 'month,agendaWeek,agendaDay,listDay',
center: 'title',
right: 'prev,next today'
},
events: [{
id: 999,
title: 'event1',
start: '2016-12-05T16:00:00',
end: '2016-12-05T18:00:00'
}],
height: 'auto',
editable: true,
eventClick: function(event, jsEvent, view) {
var updatedEvent = {
id: 999,
title: 'updated event1',
start: '16:00:00',
end: '18:00:00',
dow: [0]
};
$('#calendar').fullCalendar('removeEvents', event._id);
$('#calendar').fullCalendar('renderEvent', updatedEvent, true );
}
});
https://jsfiddle.net/rjzn6yuj/