Как предотвратить изменения selectedDateChanged в Bootstrap date-paginator? - PullRequest
0 голосов
/ 04 августа 2020

Я создаю сайт управления спортзалом, куда добавляю уже назначенные тренировки участников. Прежде всего, я должен выбрать участника для добавления тренировок. Я беру строки из базы данных MySQL для выбранного члена, которая содержит дни недели, start_date и end_date в качестве столбца. Я хочу выделить дни в date-paginator для каждого дня в полученных данных.

Я использую ajax для получения данных. Вот код.

success:function(data) {
                
    $.each(data, function( key, row ) {
        st_date = row['start_date'];
        end_date = row['end_date'];
        var end = new Date(end_date);
        daysSel = row['days'];
                    
        $.each(row['days'], function(k, r) {
            for(var dt = new Date(st_date); dt <= end; dt.setDate(dt.getDate() + 1)) {
                var dd = (dt.getDate() > 9 ? '' : '0') + dt.getDate();
                var mm = (dt.getMonth() > 9 ? '' : '0') + dt.getMonth();
                var yyyy = dt.getFullYear();
                var day = dt.getDay();
                // memberSelected = 1;
                // console.log(r + " " + weekday[day]);
                if(r === weekday[day]) {
                    $("[data-moment=" + yyyy + "-" + mm + "-" + dd + "]").addClass(" sel_date");
                }
            }
        })
    })
}

Когда я выбираю элемент, результат будет таким:

image

$('#paginator').on('selectedDateChanged', function(event, date) {
// Your logic goes here
    if(memberSelected) {
        event.preventDefault();
        AddClassSelDate();
    }
});

function AddClassSelDate() {
    var end = new Date(end_date);
    $.each(daysSel, function(k, r) {
        for(var dt = new Date(st_date); dt <= end; dt.setDate(dt.getDate() + 1)) {
            var dd = (dt.getDate() > 9 ? '' : '0') + dt.getDate();
            var mm = (dt.getMonth() > 9 ? '' : '0') + dt.getMonth();
            var yyyy = dt.getFullYear();
            var day = dt.getDay();
            memberSelected = 1;
            console.log(r + " no " + weekday[day]);
            if(r === weekday[day]) {
                console.log("YES");
                console.log("[data-moment=" + yyyy + "-" + mm + "-" + dd + "]");
                $("[data-moment=" + yyyy + "-" + mm + "-" + dd + "]").addClass(" sel_date");
            }
        }
    })
}

Приведенный выше код печатает YES и [data-moment ...] в консоли, но не добавляет к нему класс. Пожалуйста, помогите мне найти ошибку или решение ...

Заранее спасибо.

...