beforeShowDay在当月没有禁用日

时间:2014-09-20 10:10:58

标签: jquery date jquery-ui-datepicker

我有这个脚本:

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”

2 个答案:

答案 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)