Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FullCalendar检查选择日是否有事件?_Javascript_Jquery_Fullcalendar - Fatal编程技术网

Javascript FullCalendar检查选择日是否有事件?

Javascript FullCalendar检查选择日是否有事件?,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我正在使用完整的日历js插件,到目前为止还不错。但是我想检查开始和结束之间的选择是否有事件 我只需要一个正确或错误的返回。基本上,我想阻止用户创建事件,如果在日期选择上已经存在事件 var calendar = $('#calendar').fullCalendar({ selectable: true, selectHelper: true, firstDay: 5, weekNumbers: false, select: function (star

我正在使用完整的日历js插件,到目前为止还不错。但是我想检查开始和结束之间的选择是否有事件

我只需要一个正确或错误的返回。基本上,我想阻止用户创建事件,如果在日期选择上已经存在事件

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可能重复您需要创建一个方法来获取已加载到日历中的事件数组,之后,使用该数组获取所有发生事件的日期,如果用户单击其中一个日期,则不允许创建另一个事件。这是只有你才能做和弄明白的事情,你需要为自己做一个算法。。。