У меня есть полный календарь, где я могу отфильтровать результат событий на основе выбранного входа (несколько):
<select id="ids" name="ids[]" class="form-control" multiple>
<option value="1" selected> Option 1</option>
<option value="2"> Option 2</option>
<option value="3"> Option 3</option>
</select>
<button type="button" id="btn-filter">Apply</button>
Вид по умолчанию с выбранной опцией 1. При загрузке страницы, fullcalendar может правильно восстановить мой выбор.
Если я выберу другую опцию (например, ВАРИАНТ 2) и нажму кнопку фильтра, обновление полного календаря все же будет проходить только ОПЦИЮ 1 (я вижу это в отладочной консоли Firefox):
ПОЖАРНАЯ КОНСОЛЬ:
array_ids[]: 1
start: 2019-06-01T00:00:00
end: 2019-07-01T00:00:00
Это кусок кода полного календаря
events: {
url: './get-events.php',
cache: false,
type: 'POST',
data: {
array_ids: $("#ids").val()
},
error: function () {
alert('there was an error while fetching events!');
},
},
Это кнопка для обновления календаря:
$('#btn-filter').on('click', function(e) {
e.preventDefault();
$('#calendar').fullCalendar('refetchEvents');
});
Кажется, что fullcalendar хранит только первое значение при загрузке страницы: array_ids: $("#ids").val()
РЕДАКТИРОВАТЬ: хорошо, я изменил таким образом:
events: function (start, end, timezone, callback) {
$.ajax({
url: './get-events.php',
data: { "array_ids": $("#ids").val(), "start": moment(start).format(), "end": moment(end).format() },
cache: false,
type: 'POST',
success: function (data) {
$('#calendar').fullCalendar('rerenderEvents');
}
});
},
Теперь все опции выбора пропущены ... но .... календарь остановит рендеринг результата ... остается пустым ... но при просмотре консоли Firefox я вижу, что данные собраны правильно .... только не показать в полном календаре!