полный календарь - PullRequest
       17

полный календарь

8 голосов
/ 28 июля 2011

Я пытаюсь интегрировать плагин полного календаря jquery .. И я хочу отключить прошлые даты для выбора .. Поэтому я могу выбирать только даты, начиная с текущей даты. Как это возможно? Как я могу отфильтровать даты и указать условие. Я новичок в jquery.

$(document).ready(function() {
    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();

    var calendar = $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        selectable: true,
        selectHelper: true,
        select: function(start, end, allDay) {
            var title = prompt('Event Title:');
            if (title) {
                calendar.fullCalendar('renderEvent',
                    {
                        title: title,
                        start: start,
                        end: end,
                        allDay: allDay
                    },
                    true // make the event "stick"
                );
            }
            calendar.fullCalendar('unselect');
        },
        editable: true,
    });
});

Ответы [ 2 ]

5 голосов
/ 28 июля 2011

В методе выбора вам предоставляется выбранная дата начала и окончания, а ранее в методе вы получили текущую дату в переменной date.Так что просто сравните их, и если оно меньше date, обработайте ошибку.

select: function(start, end, allDay) {
  if(start < date)
  {
    // Do whatever you want here.
    alert('Cannot select past dates.');
    return;
  }

  var title = prompt('Event Title:');
  if (title) {
    calendar.fullCalendar('renderEvent', {
        title: title,
        start: start,
        end: end,
        allDay: allDay
      },
      true // make the event "stick"
    );
  }

  calendar.fullCalendar('unselect');
},
1 голос
/ 17 сентября 2011

Примечание относительно ответа Брэндона, всплывающее окно также появится, если вы нажмете на текущую дату. Вам необходимо проверить, нажал ли пользователь на сегодняшнюю дату:

if (start < date && start.getDate() != date.getDate() ) {
    alert('Cannot select past dates.');
    return;
}
...