Datepicker - 如果星期五过了上午11点,则禁用接下来的3天

时间:2015-02-19 15:14:07

标签: jquery datepicker

我在为datepicker制作一个很棒的功能时遇到了一些麻烦。我想做的事情是:

  • 如果当天是星期五,我希望在接下来的3天内停用,如果是过去的上午11点。

    $('#datetimepicker').datepicker({
        format:'d/m/Y',
        formatDate:'Y/m/d', 
        dayNamesMin: ['Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'],
        monthNames: [ "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December" ],
        monthNamesShort: [ "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" ],
        minDate: +1,
        beforeShow : function(){
            var dateTime = new Date();
            var hour = dateTime.getHours();
            if(hour  >= 11){
                $(this).datepicker( "option", "minDate", "+2" );
            }
        }
    });
    

我一直在浏览stackoverflow上的其他示例,但没有任何效果。所以现在是时候试试我的运气了!

非常感谢!

1 个答案:

答案 0 :(得分:1)

您当前的javascript函数并未将一周中的某一天考虑在内。只需添加一些逻辑来检查当前是星期五。

...
beforeShow : function(){
        var dateTime = new Date();
        var hour = dateTime.getHours();
        var dayOfWeek = dateTime.getDay(); //check the day of the week
        if(dayOfWeek == 5  &&  hour >= 11) {
            $(this).datepicker( "option", "minDate", "+2" );
        }
    }

请注意,getDay()函数将星期几作为0索引整数返回,星期日为0,星期六为6.所以date.getDay() == 5是星期五。