如何使用maxDate 1个月设置datePicker日期范围?

时间:2019-12-23 12:55:09

标签: jquery datepicker

如何设置两个日期选择器之间的最大天数间隔?我有两个日期选择器 from ID为from的日期选择器和to ID为to的日期选择器。

必要行为:

  1. 如果我选择from日期2019-12-17,则to日期选择器的最大日期必须是今天2019-12-23
  2. 如果我选择from日期2019-01-01,则to日期选择器的最大日期必须为2019-01-31

我有下面提到的代码。

$(function() {
  var dateFormat = "yy-mm-dd",
    from = $("#from")
    .datepicker({
      changeYear: true,
      yearRange: "-100:+0",
      maxDate: 0,
      changeMonth: true,
      numberOfMonths: 1,
      altField: "#fromInput",
      dateFormat: dateFormat
    })
    .on("change", function() {
      to.datepicker("option", "minDate", getDate(this));

    }),
    to = $("#to").datepicker({
      changeYear: true,
      yearRange: "-100:+0",
      maxDate: 0,
      changeMonth: true,
      changeYear: true,
      numberOfMonths: 1,
      altField: "#toInput",
      dateFormat: dateFormat
    })
    .on("change", function() {
      from.datepicker("option", "maxDate", getDate(this));
    });

  function getDate(element) {
    var date;
    try {
      date = $.datepicker.parseDate(dateFormat, element.value);
    } catch (error) {
      date = null;
    }

    return date;
  }
});

在上面的代码中,第一个预期的行为有效,但第二个行为却无效。

1 个答案:

答案 0 :(得分:0)

  

要设置从当前日期起一个月的日期范围,我们将使用“ M”   maxDate和minDate“ 0”的选项设置为“ +1”,因此当前日期   成为minDate的值。参见下面的jQuery代码。

<div id="datepicker">


$(function () {
    $('#datepicker').datepicker({
        minDate: 0,
        maxDate: '+1M'
    });
});