Javascript FullCalendar检查选择日是否有事件?
我正在使用完整的日历js插件,到目前为止还不错。但是我想检查开始和结束之间的选择是否有事件 我只需要一个正确或错误的返回。基本上,我想阻止用户创建事件,如果在日期选择上已经存在事件Javascript FullCalendar检查选择日是否有事件?,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我正在使用完整的日历js插件,到目前为止还不错。但是我想检查开始和结束之间的选择是否有事件 我只需要一个正确或错误的返回。基本上,我想阻止用户创建事件,如果在日期选择上已经存在事件 var calendar = $('#calendar').fullCalendar({ selectable: true, selectHelper: true, firstDay: 5, weekNumbers: false, select: function (star
var calendar = $('#calendar').fullCalendar({
selectable: true,
selectHelper: true,
firstDay: 5,
weekNumbers: false,
select: function (start, end, allDay, event) {
var TitleSet = false;
StartDate = start;
EndDate = end;
if (event) {}
if (TitleSet) {
calendar.fullCalendar('renderEvent', {
title: title,
start: start,
end: end,
allDay: allDay
},
true // make the event "stick"
);
}
calendar.fullCalendar('unselect');
},
editable: true,
events: EventsArr,
eventRender: function (event, element) {
element.qtip({
content: event.description
});
}
});
您需要创建一个方法来获取日历中已加载的事件数组,然后使用该数组获取所有有事件的日期,如果用户单击其中一个日期,则不允许创建另一个事件。这是只有你才能做和弄明白的事情,你需要为自己做一个算法
检查这个我试过这个方法,它看起来很好
// check if this day has an event before
function IsDateHasEvent(date) {
var allEvents = [];
allEvents = $('#calendar').fullCalendar('clientEvents');
var event = $.grep(allEvents, function (v) {
return +v.start === +date;
});
return event.length > 0;
}
然后您可以从dayclick事件调用它
dayClick: function (date, allDay, jsEvent, view) {
if (!IsDateHasEvent(date)) {
selectedDate = date;
$("#divAddNewAppointment").dialog("open");
}
else {
$('<%= "#" + lblMessage.ClientID%>').html(" your error msg");
$("#divMessage").dialog("open");
}
}
dayClick:function(日期、全天、jsEvent、视图){
如果(!IsDateHasEvent(日期)){
selectedDate=日期;
$(“#divAddNewAppointment”)。对话框(“打开”);
}
否则{
$('').html(“您的错误消息”);
$(“#divMessage”)。对话框(“打开”);
}
}
ok事件存储在哪里?你试过什么?尽量更清楚,添加更多详细信息…事件存储在我的数据库中,并调用到和数组中,Events:Events可能重复您需要创建一个方法来获取已加载到日历中的事件数组,之后,使用该数组获取所有发生事件的日期,如果用户单击其中一个日期,则不允许创建另一个事件。这是只有你才能做和弄明白的事情,你需要为自己做一个算法。。。