Как добавить свободные временные интервалы в fullcalendar / jquery? - PullRequest
1 голос
/ 01 марта 2012

Я ищу способ добавить свободные временные интервалы в полный календарь, которые отображаются с 16:00 до 20:00 каждый день. Чтобы их можно было выбрать для регистрации в событии, но не показывать время, когда есть события, которые я получаю с помощью вызова JSON.

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

Пока это код (но он создает событие, даже если оно есть в обратном вызове JSON):

$('#calendar').fullCalendar({
    header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            editable: true,
            eventClick: function(event) {           
                var url='api.php?getclassinfo=1&class_id='+event.id;
                $.getJSON(url,function(json){
                    $('#class_id').val(json.id);
                    $('#class_name').val(json.name);
                    $('#class_time').val(json.time);

                    var output='';
                    for (var i in json.day) {
                        output = output+json.day[i]+',';
                    }

                });
                return false;
    },
    //events: 'api.php?getdates=1&class_room='+class_room
    eventSources:
    [
    'api.php?getdates=1&class_room='+class_room,
     MyEvents
    ]
});


function MyEvents(start,end, callback) {
  var events = [];
  // Setup the meeting on the this weeks "monday"
  var meeting = new Date(start.getFullYear(),
                         start.getMonth(),
                         start.getDate(),
                         16, 00, 00);
  meeting.setDate((meeting.getDate() - meeting.getDay()) + 1);
    i=0;
  while (meeting <= end) {
    events.push({
      id: meeting.valueOf(),
      title: "Free space",
      start: newdate,
      allDay: false,
      backgroundColor: "#EEEEEE",
      borderColor: "#EEEEEE",
      textColor: "#AAAAAA"
    });
    // increase by one week
    meeting.setDate(meeting.getDate() + 1);
    i=i+1;
  }
  callback(events);
}

1 Ответ

0 голосов
/ 27 августа 2013

Ответ в этой теме может вам помочь. Не совсем ответ на ваш вопрос, поскольку он противоположен, но вы могли бы просто немного изменить код, чтобы достичь своей цели.

Отключить диапазоны временных интервалов в плагине jQuery fullcalendar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...