不允许在fullcalendar中删除过去的日期

时间:2017-11-11 09:30:32

标签: ruby-on-rails fullcalendar

您好我正在使用fullcalendar for schdule事件 现在我想禁用drop事件的pas日期,所以我修复了以下解决方案

$('#calendar').fullCalendar({
  eventConstraint: {
    start: moment().format('YYYY-MM-DD'),
    end: '2100-01-01'
  },
});

它工作正常,但现在我想要从一周开始停用几天,所以我在dow中添加了eventConstraint,现在它已停止工作

$('#calendar').fullCalendar({
  eventConstraint: {
    start: moment().format('YYYY-MM-DD'),
    end: '2100-01-01',
    dow: [ 3, 5 ]
  },
});

简而言之,我想禁用过去的日期,并且只允许从日历中选择wed and fri

无论如何都要解决问题。

1 个答案:

答案 0 :(得分:0)

在您发表评论之后再多考虑一下,我认为通过eventDrop回调使用一些自定义代码可以最好地解决这个问题:

eventDrop: function(event, delta, revertFunc) {
  var day = event.start.clone();
  day.startOf("day");
  var dayOfWeek = day.isoWeekday();
  if (day.isBefore(moment().startOf("day")) || (dayOfWeek != 3 && dayOfWeek != 5)) {
    revertFunc()
  }
}

这将检查两个约束:如果当天是过去的日子,或者那天不是星期三而不是星期五,则执行revertFunc(),这是一个fullCalendar提供的回调,将活动发回日历上的原始位置。

在这里,您可以找到一个有效的演示:http://jsfiddle.net/ughug9xx/2/