我有一些布尔值存储在MySQL数据库中用于用户的可用性:
$available_monday = $settings['available_monday'];
$available_tuesday = $settings['available_tuesday'];
$available_wednesday = $settings['available_wednesday'];
$available_thursday = $settings['available_thursday'];
$available_friday = $settings['available_friday'];
$available_saturday = $settings['available_saturday'];
$available_sunday = $settings['available_sunday'];
如果以上任何一个值为真,则该用户当天可用。
我希望可用的天数显示在日期选择日历上。
我知道我首先需要将可用的日期添加到数组中。
var daysAvailable = $.parseJSON('<?php echo json_encode($availableDates); ?>');
这就是我困惑的地方。下面的代码适用于特定的yy-mm-date,但我想要按星期(星期一、星期二等)去做。
我如何修改它以根据用户的可用性屏蔽日期?
$('#date').datepicker({
beforeShowDay: function(date) {
if($.inArray($.datepicker.formatDate('yy-mm-dd', date ), daysAvailable) > -1) {
return [false, "highlighted", "Booked out"];
} else {
return [true, "", "available"];
}
}
});
您可以像这样使用日期类的getDay()方法:
var days = [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
];
$('#date').datepicker({
beforeShowDay: function(date) {
if($.inArray(days[date.getDay()], daysAvailable) > -1) {
return [true, "", "available"];
} else {
return [false, "highlighted", "Booked out"];
}
}
});
假设daysAvailable的格式如下:
var daysAvailable = [
"Monday",
"Wednesday",
"Friday"
]