在jquery DatePicker中启用当前日期

时间:2015-03-26 11:29:06

标签: jquery date datepicker

我需要在我的约会选择器中启用45天的天数。

代码:

   function disableSpecificDaysAndWeekends(date) {
      var m = date.getMonth();
      var d = date.getDate();
      var y = date.getFullYear();

      for (var i = 0; i < disabledSpecificDays.length; i++) {
      if ($.inArray((m + 1) + '-' + d + '-' + y, disabledSpecificDays) != -1 || new Date() > date) {
        return [false];
        }
    }

      var noWeekend = $.datepicker.noWeekends(date);

      return noWeekend[0] ? [true] : [true];
  }
    $(document).ready(function () {
    var fullDate = new Date();
    var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1)? '0'+(fullDate.getMonth()+1) : (fullDate.getMonth()+1);
    var twoDigitDate = ((fullDate.getDate().toString().length) == 1)? '0'+(fullDate.getDate()) : (fullDate.getDate());
    var currentDate = twoDigitDate + "-" + twoDigitMonth + "-" + fullDate.getFullYear();
    var values = currentDate.split("-");
    var parsed_date = new Date(values[2], values[1]-1, values[0]);

    var maxdate = new Date(parsed_date);

    maxdate.setDate(parsed_date.getDate() + 45);

    $('#datepicker').datepicker({
     showButtonPanel: true,

     minDate: fullDate,
     maxDate: maxdate,//new Date(2015, 04,2),
    beforeShowDay: disableSpecificDaysAndWeekends

});

});

当我尝试上面的代码时能够启用45天,但问题是今天的日期处于禁用模式。

我是否知道如何在启用45天后启用日期选择器中的当前日期。

添加了输出屏幕截图 enter image description here

如果你今天检查,那么26日处于禁用模式。

2 个答案:

答案 0 :(得分:0)

尝试此代码,

$('#datepicker').datepicker({
     enddate:"+45d"
 });

答案 1 :(得分:0)

只需删除|| new Date() > date功能中的disableSpecificDaysAndWeekends即可。由于您已经为Timepicker设置了minDate,因此您不需要它。

说明:New Date()现在是(今天是实际时间的日期)。 date是0:00h的给定日期。因此,除了0:00h之外,今天的日期总是会更大。

哦,return noWeekend[0] ? [true] : [true];没有意义。应该是return !noWeekend[0] ? noWeekend : [true];我猜。