jQuery Datepicker限制为每两周一次

时间:2018-11-08 14:45:51

标签: javascript jquery datepicker

如何限制JQuery Datepicker仅显示每两周的星期六。我已经成功地将其限制为仅每周显示一次,但无法弄清楚如何使其每两周显示一次。请参阅下面的示例代码,了解仅允许星期六使用的每周过滤器。

$("#datefilter").datepicker({ 
    beforeShowDay: function(date){ 
        if(date.getDay() === 6){
            return [true];
        }else{
            return [false];
        }  
});

2 个答案:

答案 0 :(得分:1)

没有做太多测试,但这应该在第1个和第3个星期六(第5个也是)起作用:

$(function() {
    $("#datepicker").datepicker({ 
        beforeShowDay: function(date){
          var dayOfMonth = date.getDate()
            if(date.getDay() === 6 && Math.floor((dayOfMonth - 1) / 7) % 2 === 0){
                return [true];
            }else{
                return [false];
            }
        }
    });
});

如果想要第二和第四,请在0条件的第二部分中将1替换为if

Math.floor((dayOfMonth - 1) / 7) % 2 === 1

更新更正后的计算应为(dayOfMonth - 1)

答案 1 :(得分:1)

这是另一种选择,如果您预计需要更改为一周的另一天,则可以使用当天的日期作为种子的种子:

function isAlternatingDay(testDate){
    var seedDay = new Date(2018,11,3);
    var daysDiff = (testDate - seedDay)/86400000;

    return daysDiff % 14 === 0;
}