Я создаю сайт управления спортзалом, куда добавляю уже назначенные тренировки участников. Прежде всего, я должен выбрать участника для добавления тренировок. Я беру строки из базы данных 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");
}
}
})
})
}
Когда я выбираю элемент, результат будет таким:
$('#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 ...] в консоли, но не добавляет к нему класс. Пожалуйста, помогите мне найти ошибку или решение ...
Заранее спасибо.