不要让
问题描述:
嗨,我使用fullcalendar的安排表事件 现在我想禁用drop事件PAS日期为fullcalendar下降过去的日期,所以我固定使用下述溶液不要让
$('#calendar').fullCalendar({
eventConstraint: {
start: moment().format('YYYY-MM-DD'),
end: '2100-01-01'
},
});
它工作正常,但现在我想禁用从一周几天了,所以我在eventConstraint
添加dow
,现在它停止工作
$('#calendar').fullCalendar({
eventConstraint: {
start: moment().format('YYYY-MM-DD'),
end: '2100-01-01',
dow: [ 3, 5 ]
},
});
总之我想禁用过去的日期只允许wed and fri
从日历中选择。
有无论如何解决问题。
答
已经给出一些这方面的更多的思考您的意见后,我觉得这个用一些自定义代码是最好的解决,通过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/
+0
感谢您的演示,我会检查它是否适用于我,我会将您的答案标记为正确。并再次感谢您的时间:)。 – ashvin
AFAIK道只有正常工作,如果没有日期部分(即时间只能在相关的开头和结尾)。你试图满足两个要求(1.过去的日期和2.只有婚姻和星期五)。因此我的建议是创建2个eventConstraints,每个需求一个。您可以将它们指定为eventConstraint选项的数组。 eventConstraint接受与businessHours完全相同的数据格式 - 在businessHours文档中有一组数组样式的选项:https://fullcalendar.io/docs/display/businessHours/ – ADyson
@ADyson感谢您的支持帮助,我试过你的解决方案,但不工作,即使创建两个eventConstraints,两种情况都停止工作。 '''eventConstraint:[{ 启动:时刻()格式( 'YYYY-MM-DD'), 端: '2100年1月1日', },{ 道:[3,5] }],''' – ashvin