Jquery UI Datepicker禁用特定的日子和所有(周一&周二)。

问题描述 投票:0回答:2

我想禁用特定的日子和所有的日子(例如星期一和星期二)。

 var array = ["2020-03-14","2020-03-15","2020-03-16"]

    $('#datepicker').datepicker({
        beforeShowDay: function(date){
              var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
              var day = date.getDay();
              if (day != 1 && day != 2)
                  return [true]
              else if  ( array.indexOf(string) == -1)
                  return [ true]
              else
                  return [ false]

        }
    });

但它只禁用 "2020-03-16" 什么是错的?

javascript jquery jquery-ui datepicker
2个回答
2
投票

请看下面的代码。

jQuery(function($){
  var arr = [
    "2020-03-14",
    "2020-03-15",
    "2020-03-16"
  ];
  $('#datepicker').datepicker({
    beforeShowDay: function(dt){
      var dStr = $.datepicker.formatDate('yy-mm-dd', dt);
      var day = dt.getDay();
      var result = [false, ""];
      if (day != 1 && day != 2){
        result = [true, "available"];
      }
      if(arr.indexOf(dStr) >= 0){
        result = [true, ""];
      }
      return result;
    }
  });
});

beforeShowDay: function(...)

一个以日期为参数的函数,必须返回一个数组,其中包括:。

  • [0]: truefalse 表示该日期是否可以选择

  • [1]: 一个CSS类名,添加到日期的单元格或 "" 为默认的表现形式

  • [2]:该日期的可选弹出式工具提示。

https:/api.jqueryui.comdatepicker#option-beforeShowDay。

你必须返回正确的数组。

© www.soinside.com 2019 - 2024. All rights reserved.