首页 > 解决方案 > 如何在日期选择器中显示唯一即将到来的 3 个月

问题描述

<input id="datepicker" type="text">
$("#datepicker").datepicker({
  minDate: 0,
  beforeShowDay: function(d) {
    var day = d.getDate();
    return [day == 5 || day == 10 || day == 15 || day == 20 || day == 25];
  },
  beforeShow: function() {
    var dateTime = new Date();
    var hour = dateTime.getHours();
    var minute = dateTime.getMinutes();
    if (hour >= 18 && minute > 30) {
      $(this).datepicker("option", "minDate", "1");
    }
  }
});

如何在日期选择器中显示当前即将到来的 3 个月,即 2 月、3 月和 4 月,并在每个日期中启用 5、10、15、20、25 日期并禁用下午 6:30 之后的日期

标签: javascriptjquery

解决方案


您可以禁用除即将到来的三个月之外的所有其他日期。

$("#datepicker").datepicker({
  maxDate: '+3M', 
  numberOfMonths:3,
  minDate: 0,
  beforeShowDay: function(d) {
    var day = d.getDate();
    return [day == 5 || day == 10 || day == 15 || day == 20 || day == 25];
  },
  beforeShow: function() {
    var dateTime = new Date();
    var hour = dateTime.getHours();
    var minute = dateTime.getMinutes();
    if (hour >= 18 && minute > 30) {
      $(this).datepicker("option", "minDate", "1");
    }
  }
});

推荐阅读