Начало работы datepiker с календарем Drupal. Я обнаружил, что фильтрация за неделю работает некорректно, так как функция datepicker.iso8601Week возвращает недопустимые значения. Ну, моя неделя началась в среду, несмотря на все факты, такие как официальные документы :) и это была проблема. Я закончил со следующим трюком:
var date = $.datepicker.iso8601Week(new Date(dateText));
var dateDay = $.datepicker.formatDate('D', new Date(dateText));
if (dateDay == 'Mon' || dateDay == 'Sun') {
date = date+1;
}
Этот фрагмент кода возвращает правильный номер недели для понедельника и воскресенья (а также для всех других дней) после нажатия. Если вы используете указатель даты в качестве встроенного интерфейса фильтра, вы также можете сохранить дату щелчка и отобразить календарь, начиная с позиции щелчка. Я делаю это через URL точной длины с названием месяца в конце:
var setMon = window.location.pathname.slice(20);
var setDay = window.location.pathname.slice(17,19);
var setYear = window.location.pathname.slice(8,12);
$('.datep').datepicker({
defaultDate: $.datepicker.parseDate("dd MM y", setDay+" "+setMon+" "+setYear)
});
Надеюсь, что это может помочь другим, потому что, черт возьми, я потратил много времени на выяснение того, как исправить номер недели. Приветствия.