Как вы выделяете следующие 7 рабочих дней в datepicker, когда вы наведите курсор на 1 дату?JS datepicker выделить несколько дат
Я хотел бы получить следующие 7 дней с даты, когда я паря, , например. если я нахожусь 2 августа 2016 года - следующие даты будут с 3 августа по 10 августа (7 рабочих дней). Я смог достичь этого, используя импульсы. Тем не менее, я хотел бы выделить эти даты на datepicker, используя событие mouseover
. Затем снимите выделение на mouseleave
это то, что я пытался до сих пор:
$('#myDatepicker').datepicker({
// beforeshow and onselect functions
}).on('mouseover', '.ui-state-default', function() {
highlightDates($(this), true);
}).on('mouseleave', '.ui-state-default', function() {
highlightDates($(this), false);
});
function highlightDates(element, add_class) {
var addDays = 7;
var hoverDate = element.text();
for (var i = 1; i < addDays; i++) {
var dates = firstSelect.clone().add(i, 'days').format('YYYY-MM-DD');
// add another day if date is a weekend
if (moment(dates).day() == 6) {
addDays = addDays + 1;
}
if (moment(dates).day() == 7) {
addDays = addDays + 1;
}
selectedDays = addDays;
rangeDate.push(dates);
}
if (add_class) {
element.addClass('rangeClass');
element.addClass('firstRangeClass');
$('.ui-datepicker-calendar td')
.nextAll()
.slice(hoverDate, addDays)
.find('.ui-state-default')
.addClass('rangeClass');
}
}
}
выше функция работает только правильно, если парил дата 2 августа и не работает должным образом с другими датами.