Как отключить с 26 по 30 число месяца, а также по воскресеньям каждого месяца с помощью плагина bootstrap4 для выбора даты - PullRequest
0 голосов
/ 25 мая 2020

То есть задача - отключить в календаре даты с 26 по 30, а также все воскресенья. Я использую плагин bootstrap4 для достижения этой цели.

Во-вторых, возможность выбрать дату будет с сегодняшней даты за последние 2 дня и до следующих 10 дней. (-2 + 10)

Например: Дата начала с сегодняшнего дня 25 мая 2020 г. Теперь пользователь может выбрать от (25-2) = 23 мая до (23 + 10) = 10 июня 2020 г. {{Исключая 26 , 27,28,29,30 и все воскресенья}}

Я хочу изменить указанные выше проверки и изменения в этом коде:

var date = new Date();

$('#divOutPutViewData').find(':text[id="' + data[i].CandidateID + '"]').datepicker({
    uiLibrary: 'bootstrap4',
    format: 'dd-mmm-yyyy',
    Value: date,
    minDate: date,
    //maxDate: new Date(),
    clearBtn: true });

$('#divOutPutViewData').find(':text[id="' + data[i].CandidateID + '"]')
    .val();

Я пробую этот код:

function LoadDatePicker() {
  debugger;

  var d = new Date();
  var firstDay = new Date();
  var n = d.getFullYear();
  var lastdate = "31/12/" + ((new Date()).getFullYear() + 1);
  var StartFromJan = new Date(new Date().getFullYear(), 0, 1);
  $('.date').datepicker({

    format: 'dd-mm-yyyy',
    autoclose: true,
    //startDate: firstDay,
    endDate: lastdate,
    todayHighlight: true,
    startDate: StartFromJan
    //startDate: "01-01-" + n,
  });

1 Ответ

0 голосов
/ 25 мая 2020

на основе документации

https://bootstrap-datepicker.readthedocs.io/en/latest/options.html#daysofweekdisabled

https://bootstrap-datepicker.readthedocs.io/en/latest/options.html#beforeshowday

для отключения всех воскресений добавьте

daysOfWeekDisabled: '0', 

и для отключения всех дней с 26 по 30 добавьте этот хук

beforeShowDay: function(date) {
  if ((date.getDate() >= 26) && (date.getDay() <= 30)) {
    return [false]
  } else {
    return [true]
  }
}
...