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

时间:2019-07-11 20:59:32

标签: jquery bootstrap-daterangepicker jquerydatetimepicker

我要检查在选定日期范围内是否有禁用日期

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

但是不知道如何限制用户选择禁用日期范围。

例如如果禁用了2019年7月4日,则限制用户选择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"/>

1 个答案:

答案 0 :(得分:2)

我扩展了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'],
            }
            );
        });