我有这个脚本:
var unavailableDates=["2014-09-22","2014-09-31","2014-10-17","2014-10-20"] ;
function unavailable(date) {
dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
alert(dmy);
if ($.inArray(dmy, a) < 0) {
return [true,"enabled","Book Now"];
} else {
return [false,"disabled","Booked Out"];
}
}
$('#datedepart').datepicker({
dateFormat: "dd/mm/yy",
beforeShowDay: unavailable,
minDate:3});
我的问题日“2014-10-17”和“2014-10-20”已停用但未“2014-09-22”和“2014-09-31”
答案 0 :(得分:1)
date.getMonth()返回小于10的月份作为单个数字值,例如9表示9月,10表示10月。您需要在字符串中添加额外的0作为字符串或从您的unavailableDates中删除0,例如:
var unavailableDates=["2014-9-22","2014-9-31","2014-10-17","2014-10-20"] ;
另一个问题是,您正在搜索阵列名称为“unavailableDates”。
答案 1 :(得分:0)
这不是你想要的?
dmy = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate();
和
$.inArray(dmy, unavailableDates)