【问题标题】:Enable current date in jquery DatePicker在 jquery DatePicker 中启用当前日期
【发布时间】:2015-05-30 09:35:10
【问题描述】:

我需要在我的日期选择器中启用从当前日期算起的 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 天的日期选择器中启用当前日期吗?

添加了输出屏幕截图

如果您检查今天的日期 26 日是否处于禁用模式,请在此处查看。

【问题讨论】:

  • 你能提供jsfiddle或一些工作代码吗?
  • 所以你希望开始日期总是从明天开始,是吗?
  • @MokshShah:我想要从今天开始
  • 那你的问题是什么?您的代码似乎运行良好。
  • tip parsed_date = new Date(values[2]-1, values[1]-1, values[0]);你试过了吗?

标签: jquery date datepicker


【解决方案1】:

只需在您的disableSpecificDaysAndWeekends 函数中删除|| new Date() &gt; date。由于您已经为 Timepicker 设置了 minDate,因此您不需要它。

解释:New Date() 是现在(今天的日期与实际时间)。 date 是 0:00h 的给定日期。所以今天的日期总是更大,除了 0:00h。

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

【讨论】:

    【解决方案2】:

    试试这个代码,

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多