FullCalendar dow 属性 中的重复事件

Recurring events in FullCalendar dow property

我有一些从数据库加载的事件。所有事件都用 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];
                ...

这不会使事件在接下来的星期一重新呈现所有事件时自行复制。 'dow' 似乎只有在您最初定义事件时设置它才有效,或者我错了吗?有没有办法在给定事件创建后动态定义 .dow 并使日历复制该事件?

试试这个:

$('#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/