Since AFAICS Air Datepicker does not adds week number into the cells data-
, you could use a script to get the week number (edited from this SO answer):
jsFiddle demo
- Get and store the current week number.
- Use the Air Datepicker
onRenderCell()
method and add a class to the cells whose date's week number equals the current week number:
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-',
}
}
}
});