jQuery inArray()在FullCalendar中使用select选项禁用天数

时间:2017-03-18 06:52:26

标签: jquery fullcalendar

我正在尝试禁用FullCalendar中的特定日期。我的数据库中有一系列日期,可以阻止或取消阻止日期。

当我使用下面的inArray()时,它会阻止日历中的所有日期。不是jQuery大师,所以我需要一些帮助。

这是我到目前为止所拥有的;

select: function(start, end, jsEvent, view) {
    var disabledDates = ['2017-03-17', '2017-03-23'];

    if($.inArray(disabledDates) !== -1) {
        swal({
          title: "Date is blocked",
          text: "Sorry, the maximum Daily Bookings have been reached. Please select another date.",
          type: "warning"
        });

        $('#calendar').fullCalendar('unselect');
        return false;
    } else {
        $('#ModalAdd .start').val(moment(start).format('YYYY-MM-DD HH:mm:ss'));
        $('#ModalAdd .end').val(moment(end).format('YYYY-MM-DD HH:mm:ss'));
        $('#ModalAdd').modal('show');

        $('#calendar').fullCalendar('unselect');
        return true;
    };
}

任何建议都将被大大接受。

修改

我已经在上面编辑了我的问题,但仍无法使其生效,它应该只返回truefalse

我使用select: function的原因是我只希望模型不显示数组中是否有日期。

为什么要赢得这项工作?

1 个答案:

答案 0 :(得分:0)

万一有人需要这个解决方案,我终于让它运转了。

select: function(start, end, jsEvent, view) {
    var disabledDates = ['2017-03-17', '2017-03-23'];
    var selectedDate = moment(start).format('YYYY-MM-DD');

    if($.inArray(selectedDate, disabledDates) !== -1) {
        swal({
          title: "Date is blocked",
          text: "Sorry, the maximum Daily Bookings have been reached. Please select another date.",
          type: "warning"
        });

        $('#calendar').fullCalendar('unselect');
        return false;
    } else {
        $('#ModalAdd .start').val(moment(start).format('YYYY-MM-DD HH:mm:ss'));
        $('#ModalAdd .end').val(moment(end).format('YYYY-MM-DD HH:mm:ss'));
        $('#ModalAdd').modal('show');

        $('#calendar').fullCalendar('unselect');
        return true;
    };
}