Метод jumpToDate в Flatpickr используется для
программного перехода календаря к конкретной дате без изменения
выбранного значения инпута. Это ключевое отличие от
setDate, который одновременно обновляет и значение, и
состояние выбора. jumpToDate управляет исключительно
отображением календарной сетки: месяцем, годом и активным видимым
диапазоном.
Внутренне метод воздействует на навигационный слой календаря, не
затрагивая массив выбранных дат (selectedDates) и не
вызывая логики подтверждения выбора, если это не задано явно через
параметры.
fp.jumpToDate(date, triggerChange)
date
Тип: Date | string | number
Определяет целевую дату, к которой должен быть перемещён календарь.
Допускаются форматы:
DatetriggerChange
booleanonMonthChange и
связанные колбэки при переходе.falseПри вызове jumpToDate происходит пересчёт внутреннего
состояния отображения календаря:
currentMonth)currentYear)При этом:
input.value) не изменяетсяselectedDates остаётся без измененийsetDateКлючевое различие заключается в уровне воздействия на состояние:
setDate:
onChangeselectedDatesjumpToDate:
flatpickrInstance.jumpToDate(new Date(2026, 0, 15));
Календарь отобразит январь 2026 года, но выбранная дата останется прежней.
flatpickrInstance.jumpToDate("2025-12-01");
Flatpickr преобразует строку в дату, после чего откроет декабрь 2025 года.
flatpickrInstance.jumpToDate(1767225600000);
Отображение календаря будет переключено на соответствующую дату, вычисленную из timestamp.
Метод корректно работает в обоих состояниях:
При вызове метода события зависят от второго параметра:
fp.jumpToDate(date, true);
При true могут сработать:
onMonthChangeonYearChangeПри false (или отсутствии параметра):
В режиме mode: "multiple" или mode: "range"
метод ведёт себя одинаково:
Метод часто применяется вместе с другими методами экземпляра:
fp.clear();
fp.jumpToDate("2027-03-01");
fp.open();
В этом сценарии:
При наличии собственного UI навигации (например, кнопки «следующий
месяц» вне календаря) используется jumpToDate для
управления отображением:
nextButton.addEventListener("click", () => {
const current = fp.currentYear * 12 + fp.currentMonth;
const next = new Date(fp.currentYear, fp.currentMonth + 1, 1);
fp.jumpToDate(next);
});
При загрузке данных из API:
fetch("/api/event")
.then(res => res.json())
.then(data => {
fp.jumpToDate(data.eventDate);
});
В режиме диапазона часто используется переход к началу периода:
fp.jumpToDate(rangeStartDate);
Это позволяет визуально «подтянуть» календарь к началу интервала.
При вызове выполняется цепочка действий:
currentMonth и currentYearПередача некорректного значения
fp.jumpToDate("invalid-date");
Результат зависит от парсера Flatpickr и может привести к переходу на текущую дату или игнорированию вызова.
Ожидание изменения выбранной даты
fp.jumpToDate("2026-01-01");
Ошибочно ожидать, что дата будет выбрана. Метод не меняет selection.
Попытка использовать как setDate
Неправильная модель использования приводит к рассинхронизации UI и состояния.
Метод не зависит от locale напрямую, но входные строки
даты интерпретируются с учётом глобальных настроек парсинга Flatpickr.
При нестандартных форматах рекомендуется использовать объект
Date для предсказуемости.
jumpToDate представляет собой навигационный инструмент
уровня UI, отделённый от логики выбора. Он управляет исключительно
видимой частью календаря, обеспечивая гибкую программную навигацию без
вмешательства в состояние формы и без триггера пользовательского
выбора.