如何检查禁用日期是否在选定范围内

How to check if a disabled date is in the selected range

我想检查 selected 日期范围内是否有禁用日期

我可以禁用特定日期,也可以有多个日期。

但不知道如何限制用户select进入其中包含禁用日期的范围。

如果 2019 年 7 月 4 日被禁用,则将用户限制为 select 2019 年 7 月 3 日至 2019 年 7 月 9 日

$(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"/>

我已经扩展了 daterangepicker 的功能。 您可以从这里检查扩展的 daterangepicker 插件 https://pastebin.com/4SKPTT7P

您可以通过以下代码使用它 通过这个,您可以使多个日期禁用/无效,并且用户不能 select 内部包含无效日期的日期范围。

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