Datepicker не обновляется при использовании beforeShowDay

Доброе утро. Я использую Jquery UI datepicker следующим образом:

$(document).ready(function(){
initComponent();
});

var j = 0;
function checkDate(date) {
    j++;
    if (j>5 && j<10)
    {
        return [true, 'event',''];
    }
    else if (j>20 && j<25)
    {
        return [true, 'event2',''];
    }
    else
    {
        return [true,''];
    }

     }

function initComponent(){
    $.datepicker.setDefaults($.datepicker.regional["es"]);
    $( "#datepicker" ).datepicker({
        firstDay: 1,
        inline: true,
        showOtherMonths: true,
        dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        dateFormat: 'dd-mm-yyyy',
        beforeShowDay: checkDate
    });

}

Этот код показывает мне календарь DatePicker с другим стилем даты, выбранные со стилями event и event2. Проблема заключается в том, что после загрузки календаря, если я выбираю какую-либо дату, стиль, который я изменил с beforeShowDay, удаляется, оставляя стиль по умолчанию каждый день месяца. Я попытался обновить OnSelect, но это не сработало. Знаете ли вы, что я что-то упускаю или какую ошибку я совершаю?

Основная часть HTML-кода выглядит просто:

<div id="datepicker"></div>

Спасибо.

0
задан 16.01.2017, 15:37
0 ответов

Ты определяешь стиль как переменную j, что не имеет ничего общего с датой.

Поскольку ты инициализируешь j в 0, первом разе, что ты выбрал дату, j он будет равен 1 и твоя функция возвращает, что у datepicker не должен быть стиль. Если бы ты выбрал дату, пять раз продолженный, вероятно применялся бы стиль event.

То, что должно делать твою функцию (а следовательно я только что искал), что-то сходное с этим:

function checkDate(date) {
    var dia = date.getDate();

    if (dia>5 && dia<10)
    {
        return [true, 'event',''];
    }
    else if (dia>20 && dia<25)
    {
        return [true, 'event2',''];
    }
    else
    {
        return [true,''];
    }
}

Таким образом, согласно дню отборной даты, ты определяешь стиль.

Шрифт: Ответ в Стакк Оверфлов: JQuery DatePicker and beforeShowDay

0
ответ дан 03.12.2019, 17:40

Теги

Похожие вопросы