【问题标题】:How to set datePicker Date Range with maxDate 1 month?如何使用 maxDate 1 个月设置 datePicker 日期范围?
【发布时间】:2020-04-14 18:26:29
【问题描述】:

如何设置两个日期选择器之间的最大天数间隔?我有两个日期选择器 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;
  }
});

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

【问题讨论】:

  • 奇怪的要求。在您的第一个场景中,您只添加了 5 天,而在第二个场景中,您添加了一个月。
  • 请在您的标题中更正您说您想在to 日期中添加月份范围。

标签: jquery datepicker


【解决方案1】:

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

<div id="datepicker">


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 2013-04-16
    • 1970-01-01
    • 2023-03-25
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多