【问题标题】:How to disable the calendar when it falls on a specific day in a week如何在一周中的特定日期禁用日历
【发布时间】:2019-10-14 00:28:32
【问题描述】:

我正在开发一个日期选择器,它将在周五和周六当天禁用所有选择。

我已经创建了一个日期选择器,它只会选择下周的日期(在其他成员的帮助下)。

var date = new Date();
var weekday = date.getDay();
var daysTillWeekOver = 7 - weekday;

var dateMax = `+${daysTillWeekOver}d`;

var dateMin = new Date(Date.now()); 
dateMin.setDate(dateMin.getDate());


$(".datepicker").datepicker({
  minDate: dateMax,
  maxDate: daysTillWeekOver + 6
}); 

我希望我的日期选择器上的所有日期都将在当前一周中的每一天落在每个星期五和星期六时被禁用。

【问题讨论】:

标签: jquery


【解决方案1】:

这是根据 Lelio 的评论修改的解决方案。

$(function() {
  var now = new Date();
  var currentDayOfTheWeek = now.getUTCDay()
  $("#datepicker").datepicker({
    beforeShowDay: function(date) {
      return [currentDayOfTheWeek != 5 && currentDayOfTheWeek != 6, ""];
    }
  });
});

基本上,如果一周中的当前日期是星期五或星期六,日历上的日期将被禁用。

【讨论】:

    【解决方案2】:

    感谢上面的回答,但这对我不起作用。这是我所做的并解决了我的问题。 (在 Grant Noe 的帮助下)。

    var date = new Date();
    var weekday = date.getDay();
    var daysTillWeekOver = 7 - weekday;
    
    var dateMax = `+${daysTillWeekOver}d`;
    
    var dateMin = new Date(Date.now()); 
    dateMin.setDate(dateMin.getDate());
    var weekdayCheck = dateMin.getDay();
    
    if (weekdayCheck == 5 || weekdayCheck == 6) {
    var maxD = 0;
    }
    else{
    var maxD = daysTillWeekOver + 6;
    }
    
    // activate datepicker
    $(".datepicker").datepicker({
    
      minDate: dateMax,
      maxDate:  maxD
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多