如何检查事件已经存在一天 – fullcalendar
使用renderEvent
方法时,如何检查事件已存在一天。
我发现可以在堆栈中回答dayClick
with clientEvents
,我不确定它如何用于renderEvent
。
var diffDay = 5; for (var i = 0; i < diffDay; i++) { var copiedEventObject = $.extend({}, originalEventObject); var newDay = new Date(event.start); copiedEventObject.start = newDay; $inlineCalendar.fullCalendar('renderEvent', copiedEventObject, true); }
我正在寻找下面的条件或任何其他解决方案
if(....Condition?....){ $inlineCalendar.fullCalendar('renderEvent', copiedEventObject, true); }
我的解决方案是比较EventObject的.start。
更新:经过讨论,似乎我们之前有过相反的理解,我更新了我的代码
所以我的解决方案的条件是:
var allevents = $inlineCalendar.fullCalendar( 'clientEvents'); for(var i=0;i
不幸的是,上面的答案在我的场景中不起作用 所以我从自己的方式找到了一个解决方案。 可能它会帮助某人,但不确定它是否正确。
var allevents = $inlineCalendar.fullCalendar('clientEvents'); var arrAlleventsDate = []; for(i in allevents){ if(arrAlleventsDate.indexOf($.fullCalendar.formatDate(allevents[i].start, 'yyyyMMdd')) == -1){ arrAlleventsDate.push($.fullCalendar.formatDate(allevents[i].start, 'yyyyMMdd')); } } if(arrAlleventsDate.indexOf($.fullCalendar.formatDate(newDay, 'yyyyMMdd')) == -1){ $inlineCalendar.fullCalendar('renderEvent', copiedEventObject, true); }
如果您希望为每个事件工作,请添加事件ID作为日期的前缀。
在议程视图中,我选中“选择”是否在所选时段内有其他事件; cheks是限制数字,字段(es:title或custom field)和时间段:
select: function(start, end, jsEvent) { var maxEvent = 2; var allEvents = $('#calendar').fullCalendar( 'clientEvents'); var xst = moment(start); var xen = moment(end); var eventsCount = 0; var collideEvent; var tempField; for(var i=0;i=maxEvent && tempField != currentEvent.field) { alert("!"); $('#calendar').fullCalendar('unselect'); return false; break; } collideEvent = currentEvent; tempField = collideEvent.field; } //proceed! }
- 每年将生日事件添加到jQuery完整日历中
- 在FullCalendar中隐藏开始时间
- 我如何在fullcalendar中更改不同颜色的事件背景颜色?
- 通过在mysql数据库中插入值来更改jquery事件日历事件的背景颜色
- agendaWeek视图中的标题显示因加载的fullcalendar js文件而异
- 如何在FullCalendar中的agendaWeek视图中确定开始日期和结束日期?
- FullCalendar $(’td.fc-day’)。mouseover有时会在小月历上出错
- Fullcalendar,每天限制数量事件所需的文件,查看更多/更多按钮?
- 如果可编辑为false,则fullCalendar eventClick处理程序不起作用