【问题标题】:jquery datepicker exclude all days except Tuesday and Friday, and exclude selected dates in conjunctionjquery datepicker 排除除周二和周五以外的所有日期,并同时排除选定日期
【发布时间】:2020-03-09 19:29:09
【问题描述】:

我已经尝试了几个小时没有运气。我需要首先排除除周二和周五以外的所有日子。然后有一系列我需要禁用的周二和周五。单独每个功能都可以完美运行,但在我的一生中它们不能一起工作吗?

工作不包括除周二和周五以外的所有日子:

$(function(){
    $("#datepicker").datepicker(
        { beforeShowDay: function(day) {
            var day = day.getDay();
            var taken = ["2020-03-17"];
            var isTaken = '2020-03-17';

            if (day == 0 || day == 1 || day == 3 || day == 4 || day == 6)  {
                return [false]
            } else {
                return [true];
            }
         }
        });

});

工作排除选定日期:

var array = ["03/17/2020","03/18/2020","03/19/2020"];

$(function(){

$('#datepicker').datepicker({
    beforeShowDay: function(date){
        var string = jQuery.datepicker.formatDate('mm/dd/yy', date);
        return [ array.indexOf(string) == -1 ]
    }
   });
});

我怎样才能让它们同时工作?

【问题讨论】:

    标签: jquery datepicker


    【解决方案1】:

    你几乎一直到那里,你只需要结合你的条件。 Working JSFiddle.

    我做了一些其他的小改动:

    • jQuery 替换为 $ 以保持一致性;

    • 为清晰起见重命名了一些变量(例如,它是传递给 beforeShowDaydate,而不是 dayarray 不会提醒我们它是什么或我们需要用它做什么)。如果您有 3 或 4 个变量并且所有变量都是日期或与日期相关,则很容易混淆;

    • 颠倒了您的星期几测试。与其测试禁止哪一天,不如考虑允许的日子更简单,尤其是当它们较少的时候;

    代码如下:

    $(function(){
    
        var day, formatted,
            disallowed = ["03/17/2020","03/18/2020","03/19/2020"];
    
        $("#datepicker").datepicker({
            beforeShowDay: function(date) {
                day = date.getDay();            
                formatted = $.datepicker.formatDate('mm/dd/yy', date);
    
                // If it is a Tue or a Fri, AND it is not in the disallowed list, 
                // it should be selectable
                if ((day == 2 || day == 5) && disallowed.indexOf(formatted) === -1) {
                    return [true];
                } else {
                    return [false];
                }
            }
        })
    });
    

    【讨论】:

      猜你喜欢
      • 2013-11-09
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      • 2020-12-20
      • 2018-06-01
      • 1970-01-01
      • 2023-02-08
      相关资源
      最近更新 更多