#jquery #jquery-ui
Вопрос:
в идеале массив дат будет проверять мой календарь Google на наличие дат, и я хочу заблокировать эти даты в своем календаре
<script> $(document).ready(function(){
var dates = ["06-08-2021"];
function DisableDates(date) {
var string = jQuery.datepicker.formatDate('mm-dd-yy', date);
return [dates.indexOf(string) == -1];
}
$("#datepicker").datepicker({
dateFormat: 'mm-dd-yy',
beforeShowDay: $.datepicker.noWeekends,
beforeShowDay: DisableDates
});
})
</script>
Комментарии:
1. Избавьтесь от индекса
noWeekends
и проверьте день также в своейDisableDates()
функции. Объекты не могут иметь дубликатов ключей2. итак, как мне добавить обе функции?
3. Индекс воскресенья равен нулю, суббота-6
Ответ №1:
Это сработает:
var dates = ["06-08-2021"];
function DisableDates(date) {
var noWeekend = $.datepicker.noWeekends(date);
if (noWeekend[0]) {
var string = jQuery.datepicker.formatDate('mm-dd-yy', date);
return [dates.indexOf(string) == -1];
} else {
return noWeekend;
}
}
$("#datepicker").datepicker({
dateFormat: 'mm-dd-yy',
beforeShowDay: DisableDates
});
<link href="http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<p>Date: <input type="text" id="datepicker"></p>