jQuery:DatePicker不允许我选择最大日期

时间:2013-12-21 23:53:46

标签: jquery datepicker maxdate

我正在使用jQuery的日期选择器并指定今天的最小日期和1月31日的最大日期。但是,当日历显示时,尽管代码看起来正确,但仍无法选择第31个。

以下是代码:

function initializePickers() {
  jQuery('.date-start').each(function() {
      startEndPickers(this);
  });
  jQuery('.date-end').each(function() {
      startEndPickers(this);
  });
}

function startEndPickers(input) {
  jQuery(input).datepicker({
      dateFormat: "M dd, yy",
      minDate: new Date(),
      maxDate: new Date('2014-01-31')
  });
}

这里有一个jsFiddle,它表明无法选择1月31日:http://jsfiddle.net/Hec5m/

任何人都知道造成这种情况的原因是什么? maxDate明确指定为第31个,而不是第30个。

1 个答案:

答案 0 :(得分:1)

new Date('2014-01-31')选择1月31日的午夜,这意味着白天没有时间可以被选中,这就是它被排除的原因。

您可以使用2014-02-01作为最长日期(jsFiddle)或指定时间以及23:59:59jsFiddle)的结束日期来解决此问题。

jQuery UI还允许您将字符串作为参数放入(与日期格式相同 - 在您的情况下为"Jan 31, 2014"),而不是传入Date对象,表现得像你期望的那样。 (jsFiddle