Как выделить текущую неделю в календаре выбора даты в эфире - PullRequest
0 голосов
/ 13 декабря 2018

http://t1m0n.name/air-datepicker/docs/

Я использую календарь выбора даты в эфире.Как я могу выделить текущую неделю в календаре.Смотрите мое местоположение скрипки.

http://jsfiddle.net/oua394nt/

<input type="text"
    data-range="true"
    data-multiple-dates-separator=" - "
    data-language="en" id="my-element"
    class="datepicker-here"/>

1 Ответ

0 голосов
/ 13 декабря 2018

Поскольку AFAICS Air Datepicker не добавляет номер недели в ячейки data-, вы можете использовать скрипт, чтобы получить номер недели (отредактированный из этого ответа SO):

jsFiddle demo

  • Получить и сохранить номер текущей недели.
  • Использовать Air Datepicker onRenderCell() и добавьте класс в ячейки, номер недели которых соответствует номеру текущей недели:

CSS:

.-current-week- {
  background: red;
}

JS:

function getWeek(d) {
  // https://stackoverflow.com/a/6117889/383904
  d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
  d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay()||7));
  var yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1));
  var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7);
  return {year:d.getUTCFullYear(), number: weekNo};
}

var currentWeekNumber = getWeek(new Date()).number;

$('#my-element').datepicker({
  onRenderCell: function(date, cellType) {
    if (cellType === 'day' && getWeek(date).number === currentWeekNumber) {
      return {
        classes: '-current-week-',
      }
    }
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...