Jquery datepicker 日期范围为 365 天

Jquery datepicker date range for 365 days

我正在尝试限制 jquery 日期选择器中的日期范围。实际上我有 from_date 和 to_date 之类的日期范围输入,我希望 to_date maxdate 值应该是 from_date + 365 天,所以它将是 1 年的日期范围。我不知道该怎么做。

我试过这种方法但没有用:

$(function() {
    $( "#from" ).datepicker({
      defaultDate: "+1w",
      minDate: 0,
      changeMonth: true,
      numberOfMonths: 1,
      onClose: function( selectedDate ) {
        $( "#to" ).datepicker("option", "minDate", selectedDate );
      }
    });
    $( "#to" ).datepicker({
      defaultDate: "+1w",
      changeMonth: true,
      numberOfMonths: 1,
      maxDate: new Date($('#from').val() + 365),
    });
  }); 

你可以这样做

$("#from").datepicker({
dateFormat: 'dd/mm/yy',
onSelect: function(dateStr) {
    var d = $.datepicker.parseDate('dd/mm/yy', dateStr);
    var years = parseInt(1);

    d.setFullYear(d.getFullYear() + years);
    d.setDate(d.getDate()-1);
    $('#to').datepicker({dateFormat: 'dd/mm/yy',maxDate: d});
}
});

这是它的 jsfiddle jsfiddle

您可以在 days_to_add 中设置所需的天数。另请注意,您可能需要打开 changeYear 选项。

$(function () {
    $("#from").datepicker({
        defaultDate: "+1w",
        minDate: 0,
        changeMonth: true,
        changeYear: true,
        numberOfMonths: 1,
        onClose: function (selectedDate) {
            $("#to").datepicker("option", "minDate", selectedDate);

            var days_to_add = 365, // SET DAYS HERE
                parsed_date = new Date($.datepicker.parseDate('mm/dd/yy', selectedDate)),
                add_year = new Date(parsed_date.setDate(parsed_date.getDate() + days_to_add)),
                formatted_date = $.datepicker.formatDate('mm/dd/yy', add_year);

            $('#to').datepicker('option', 'maxDate', formatted_date);
        }
    });
    $("#to").datepicker({
        dateFormat: 'mm/dd/yy',
        defaultDate: "+1w",
        changeMonth: true,
        changeYear: true,
        maxDate: '+1y'
    });
});
<link href="https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script>

<input id="from" />
<input id="to" />