JQuery Datepicker ограничить раз в две недели - PullRequest
0 голосов
/ 08 ноября 2018

Как мне ограничить JQuery Datepicker, чтобы показывать только раз в две недели по субботам. Я успешно ограничил это показывать только еженедельно, но не мог понять, как сделать это раз в две недели. См. Пример кода ниже для еженедельного фильтра, который допускает только субботы.

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

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Это еще один вариант, если вы ожидаете необходимости перейти на другой день недели, вы можете заменить его датой, приходящейся на этот день:

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

    return daysDiff % 14 === 0;
}
0 голосов
/ 08 ноября 2018

Не тестировал слишком много, но это должно работать в течение 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];
            }
        }
    });
});

А если вы хотите 2-го и 4-го, замените 0 на 1 во 2-й части условия if:

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

ОБНОВЛЕНИЕ исправленный расчет, должен быть (dayOfMonth - 1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...