jquery - 不明白为什么日期不受限制

标签 jquery date datepicker calendar shopify

这是我来自 Shopify 的代码。我正在尝试限制假期。周末被封锁得很好。有人可以告诉我为什么我的不可用日期不起作用吗?我正在尝试限制假期。

var currentDate = new Date();
var n = currentDate.getHours();
var m = +2;

if (n < 14){
m = 4;
} else {
m = 5;
}


$(document).ready( function() {
      $(function() {
        $("#date").datepicker( {
          minDate: m,
          maxDate: '+2M',
          beforeShowDay: jQuery.datepicker.noWeekends
        } );
      });
    });


var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
var unavailableDates = ["2017/11/23","2017/11/24","2017/12/25","2017/12/26","2018/01/01"]; // yyyy/MM/dd
var unavailableDays = ["Saturday","Sunday"];


function unavailable(date) {
    ymd = date.getFullYear() + "/" + ("0"+(date.getMonth()+1)).slice(-2) + "/" + ("0"+date.getDate()).slice(-2);
    day = new Date(ymd).getDay();
    if ($.inArray(ymd, unavailableDates) < 0 && $.inArray(days[day], unavailableDays) < 0) {
        return [true, "enabled", "Book Now"];
    } else {
        return [false,"disabled","Booked Out"];
    }
}

最佳答案

这应该可以做到:

var currentDate = new Date();
var n = currentDate.getHours();
var m = +2;

if (n < 14) {
  m = 4;
} else {
  m = 5;
}

var unavailableDates = ["2017/11/23", "2017/11/24", "2017/12/25", "2017/12/26", "2018/01/01"]; // yyyy/MM/dd

$(document).ready(function() {
  $(function() {
    $("#date").datepicker({
      minDate: m,
      maxDate: '+2M',
      beforeShowDay: function(date) {
        var noWeekend = $.datepicker.noWeekends(date);
        var datestring = jQuery.datepicker.formatDate('yy/mm/dd', date);
        if (noWeekend[0]) {
          return [unavailableDates.indexOf(datestring) == -1];
        } else return noWeekend;
      }
    });
  });
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<p>Date: <input type="text" id="date"></p>

关于jquery - 不明白为什么日期不受限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47292381/

相关文章:

javascript - 如何以编程方式展开/折叠 Jarvis Widget?

node.js - 收到错误 : ORA-01843: not a valid month] error and don't know why

javascript - bootstrap-datepicker 中的 beforeShowDay 标题不起作用

javascript - jQuery 数据表 : Delete row and reload

javascript - 根据另一个 div 显示隐藏一个 div

javascript - 如何使用 jQuery 查找目录中的所有图像

ruby - 使用 ruby​​ 从日期列表创建日期范围数组

mysql - 按小时汇总行(包括空闲时间)?

android - 如何在android中以两位数格式获取日期选择器月份字段

jquery - Rails 和 jQuery Datepicker - 选择日期时保存表单