【问题标题】:How To Disable Specific Days and Dates Using BeforeShowDay In jQueryUiDatepicker?如何在 jQuery Ui Datepicker 中使用 BeforeShowDay 禁用特定日期和日期?
【发布时间】:2017-09-20 16:50:42
【问题描述】:

我已经在 jQueryUiDatepicker 中有功能代码,可以禁用周五和周六以及之前的所有日子(加上 2 天)。我的问题是尝试向这个现有的 Datepicker 代码添加 2 个特定日期,这也会禁用这些日期。

这是我在 jQueryUiDatepicker 第 92 行的现有代码:

beforeShowDay: function(date) {
var show = true;
if(date.getDay()==5||date.getDay()==6) show=false
return [show];
},
    beforeShow: function(){
    var dateTime = new Date();
    var hour = dateTime.getHours();
    //If Hour is greater or equals to 8AM
    if(hour  >= 08){
        //Disable all past days including tomorrow and today
        $(this).datepicker( "option", "minDate", "+2" );
    }
},

我正在尝试禁用 2017 年 10 月 18 日和 19 日但失败了,这是我直接在上述代码下方添加的代码:

beforeShowDay: var array = ['18/10/2017', '19/10/2017']

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

我的问题是如何禁用所有以前的日期,所有星期五和星期六以及 10 月的这两个日期?

注意#此编码必须在 jquery.ui.datepicker 中完成,而不是 html 中的脚本

【问题讨论】:

    标签: datepicker jquery-ui-datepicker


    【解决方案1】:

    希望对你有帮助

    使用inArray而不是indexOf,您还可以使用minDate禁用所有以前的日期

    var array = ["18/10/2017", "19/10/2017"];
    $(function() {
        $('input').datepicker({
            minDate: new Date(),
            beforeShowDay: function (date) {
            $thisDate = date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear();
        var day = date.getDay();
        if ($.inArray($thisDate, array) == -1&&day!=5&&day!=6) {
            return [true, ""];
        } else {
            return [false, "", "Unavailable"];
        }
    }
        });
    });
    

    DEMO

    【讨论】:

    • 嗨,Amal,尽管我可以看到您的示例在您的小提琴中运行良好,但我无法让您的代码在 jquery-ui-datepicker 中工作。我已经尝试用我的代码直接替换(在最初的问题中提供)并且我试图砍掉和改变它,但无论我用哪种方式切块它都不起作用。我知道它可以在不使用外部 javascript 和 html 的情况下完成,但目前我仍在寻找这个解决方案。我认为要做到这一点,所有代码都必须在 beforeShowDay 之后。
    • 嗨迈克尔,你能用你的 jquery ui 插件在 jsfiddle 中复制上述问题吗?我认为这个错误是由于你的插件造成的。
    猜你喜欢
    • 2012-04-02
    • 2010-10-15
    • 2020-12-25
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    相关资源
    最近更新 更多