Как отключить прошлые даты по отношению к указанной c дате в материализаторе выбора даты и наоборот - PullRequest
0 голосов
/ 27 марта 2020

** Я не могу отключить прошедшие даты от указанной c даты, например, 01.01.1970 **

$(document).ready(function(){
  $('.datepicker').datepicker({
    yearRange: [1970, 2010],
    defaultDate: new Date(1970, 1, 0),
    minDate: new Date(1970, 0, 1),
    maxDate: new Date(2010, 11, 31),
  });
});

1 Ответ

0 голосов
/ 30 марта 2020

Мне не удалось воспроизвести ошибку вашего исходного вопроса (см. https://jsfiddle.net/px0djq8w/). Тем не менее, я думаю, что нашел решение для второй проблемы, о которой вы упоминали в комментариях.

Сначала добавьте minYear и maxYear к опциям инициализации DatePicker. Похоже, что код Datepicker не использует minDate / maxDate для этого:

  $(document).ready(function(){
    $('.datepicker').datepicker({
        // ...
        minYear: 1970,
        maxYear: 2010   
    });
  });

Во-вторых, нам нужно исправить две вещи в библиотеке Materialize Datepicker, потому что, по моему мнению, две вещи отсутствуют :

  1. Уже существует класс .is-disabled для кнопок previous и next, добавленный к кнопке next. Теперь проблема в том, что для кнопки previous проверка, должна ли она быть отключена или нет, происходит слишком поздно (после объявления кнопки, ~ строка 9241). Вот так это должно выглядеть:
if (isMinYear && (month === 0 || opts.minMonth >= month)) {
  prev = false;
}

var leftArrow = '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg>';
        html += "<button class=\"month-prev" + (prev ? '' : ' is-disabled') + "\" type=\"button\">" + leftArrow + "</button>";
Теперь существует правило CSS, которое сообщает браузеру, что делать с кнопкой, .is-disabled. Вам необходимо добавить это правило после импорта CSS библиотеки:
button.is-disabled {
  visibility: hidden; // hide button
  pointer-events: none; // disable clicks
}

Ссылка на выпуск GitHub: https://github.com/Dogfalo/materialize/issues/6541

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...