2016-06-20 2 views
1

Я могу легко визуализировать события через ajax-вызов. Но я не могу обновить рабочее время и применить ограничение выбора после того, как ответ AJAX ....Я хочу обновить рабочие часы fullcalendar через ajax-вызов

+0

businessHours: [ { старт: '10: 00' , // время начала (10 утра в данном примере) конец: '18: 00' , // время окончания (6 вечера в этот пример) dow: [1, 2, 3, 4] } ] –

ответ

0

Во-первых, изменение рабочих часов в динамически полученного значения:

businessHours: getBusinessHours() 

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

var g_BusinessHours = null; 

function getBusinessHours() { 
    return g_BusinessHours; 
} 

Наконец, в вашем AJAX позвонить вы обновить глобальные переменные и вновь сделать календарь:

(ajax call success function) 
    g_BusinessHours = data.data.result[0]; 
    $("#c").fullCalendar('render'); 
+0

Подход хороший. Но у меня есть еще 2 вопроса для меня. 1. Он не подбирает динамическое время. Он всегда показывает от 9 до 17 часов рабочего времени в обычные дни. 2. function $ ("# c"). FullCalendar ('render') не работает. Он не выполнен. –

+0

OK, так что getBusinessHours() должен возвращать соответствующие рабочие часы, например. 9-5, если это пн-пт или 9-1, если сегодня суббота. Но fullcalendar не поддерживает различные рабочие часы в зависимости от дня недели, если вы хотите увидеть всю неделю, например. Что касается «рендеринга», попробуйте «refetchEvents». – K48

+0

1. Рабочее время может быть за день основе, как: { старт: 9:00, конец: 18; 00, Дау: [1, 2, 3, 4, 5], }, { начало: 8:00, конец: 22; 00, dow: [0, 6], }, Он работает нормально, но только на основе загрузки страницы. Я столкнулся с проблемой, чтобы сделать эти рабочие часы на основе ajax. 2. «render» и «refetchEvents» - это два метода differenet. Мне не нужно обновлять события здесь. Мне нужно изменить время работы календаря. –

1

Начиная с версии 2.9.0, можно динамически установить параметры после инициализации. Для примера:

$('#calendar').fullCalendar('option', { 
    businessHours: [{ 
      dow: [0, 1, 2, 3, 4, 5, 6], 
      start: '09:00', 
      end: '11:00' 
     }, { 
      dow: [0, 1, 2, 3, 4, 5, 6], 
      start: '13:00', 
      end: '18:00' 
     }]}); 

мне нужно было то же самое, и это работало нормально.

fullcalendar.io/docs/utilities/dynamic_options/

+0

Работает отлично, спасибо. – tharo

Смежные вопросы