Как проверить, находится ли дата отключения в выбранном диапазоне - PullRequest
2 голосов
/ 11 июля 2019

Я хочу проверить, есть ли отключенная дата в выбранном диапазоне дат

Я могу отключить определенную дату, может быть несколько дат.

Но не имею ни малейшего представления, как запретить пользователю выбирать диапазон, в котором указана дата отключения.

Например, если 4 июля 2019 года отключено, ограничьте выбор пользователя с 3 июля 2019 по 9 июля 2019

$(document).ready(function() {
  $('.date_rangepicker').daterangepicker({
    timePicker: false,
    locale: {
      format: 'YYYY/MM/DD'
    },
    isInvalidDate: function(date) {
      if(date.format('YYYY/MM/DD') == '2019/07/04') {
        return true;
      }else{
        return false; 
      }
    }
  }, function(start, end, label) {
    console.log(start.toISOString(), end.toISOString(), label);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />

 <input type="text" class="date_rangepicker"/>

1 Ответ

2 голосов
/ 12 июля 2019

Я расширил функциональность для daterangepicker.Вы можете проверить расширенный плагин daterangepicker отсюда https://pastebin.com/4SKPTT7P

Вы можете использовать это с помощью приведенного ниже кода, с помощью которого вы можете сделать несколько дат отключенными / недействительными, и пользователь не сможет выбрать диапазон дат с недопустимой датой внутри.

        $(document).ready(function() {
            $('.date_rangepicker').daterangepicker({
                timePicker: false,
                locale: {
                    format: 'YYYY/MM/DD'
                },
                invalidDates: ['2019/07/01', '2019/07/02', '2019/07/03'],
            }
            );
        });
...