Этот код
$('#calendar').fullCalendar('refetchResources', {
resources: link
});
не имеет смысла. Согласно документации, на которую вы ссылаетесь, метод refetchResources не принимает никаких дополнительных аргументов. Объект { resources: link }
, который вы ему передаете, не ожидается и, следовательно, fullCalendar игнорирует. Я не уверен, что натолкнуло вас на мысль, что вы можете передать этой функции больше аргументов.
Процитированная вами фраза:
«Если параметр ресурсов был указан как канал JSON, он будет запрошен снова».
означает, что он повторно извлечет существующие данные ресурсов из существующих указанных источников (отсюда и слово «снова»). Я думаю, вы неправильно поняли это объяснение.
Другими словами, все, что он делает, это обновляет уже указанные источники. Если вы хотите изменять список ресурсов динамически, вам нужно сначала установить параметр ресурсов, используя отдельный метод для установки параметров.
Вот пример, который переключает ресурсы с одного URL-адреса на другой при нажатии кнопки. Вы, конечно, можете настроить это в соответствии со своими потребностями, но главное, что следует отметить, - это использование отдельного метода «option» для изменения URL-адреса ресурса перед вызовом «refetchResources».
HTML:
<button type="button" id="changeResources">
Click to Change Resources
</button>
<div id='calendar'></div>
JavaScript:
var resources = [
"https://api.myjson.com/bins/m7blz",
"https://api.myjson.com/bins/cqj3b"
]
var currentResourceIndex = 0;
$(document).ready(function() {
$('#calendar').fullCalendar({
resources: resources[currentResourceIndex],
schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
defaultView: 'timelineDay',
header : {
left: 'prev, today',
center: 'title',
right: 'next'
},
});
$("#changeResources").click(function() {
if (currentResourceIndex == 0) currentResourceIndex = 1;
else currentResourceIndex = 0;
$('#calendar').fullCalendar('option', 'resources', resources[currentResourceIndex]);
$("#calendar").fullCalendar("refetchResources");
});
});
См. http://jsfiddle.net/toytd26b/57/ для рабочей демонстрации переключения ресурсов. с помощью кнопки (согласно приведенному выше коду).
Документацию о том, как установить параметры календаря после инициализации календаря.
person
ADyson
schedule
26.03.2018