9

我有 jQuery 日期选择器设置和工作,但希望帮助设置 minDate 和 maxDate 选项。我当前的代码如下(没有这些选项)。如何将 minDate 设置为 defaultDate 前 3 个月,将 maxDate 设置为 defaultDate 后 28 天?

var expdisp = $("#expdisp").attr("value");

$("#expirydate" ).datepicker({
    showOn: "button",
    buttonImage: "images/calendar.gif",
    buttonImageOnly: true,
    dateFormat: "dd/mm/yy",
    defaultDate: expdisp,
    showOtherMonths: true,
    selectOtherMonths: true,
    changeMonth: true,
    changeYear: true,
});
4

6 回答 6

15
$(function() {

    $( "#datepicker" ).datepicker({ 
        changeYear: true,
        minDate: '-3M',
        maxDate: '+28D',
    });
});

JSFiddle 演示

更新

您可以从默认日期计算游览最大和最小有效日期,然后将其分配给日期选择器。

var expdisp = $("#expdisp").attr("value");

$("#expirydate" ).datepicker({
    showOn: "button",
    buttonImage: "images/calendar.gif",
    buttonImageOnly: true,
    dateFormat: "dd/mm/yy",
    defaultDate: expdisp,
    showOtherMonths: true,
    selectOtherMonths: true,
    changeMonth: true,
    changeYear: true,

    minDate: '-3M',
    maxDate: '+28D',
});

更新演示

于 2013-02-01T12:17:47.813 回答
2

maxDate :- 设置可以选择的最大日期。接受日期对象或相对数字。例如:+7,或 +6m 等字符串。

minDate :-设置可以选择的最小日期。接受数字、日期对象或字符串。

$(document).ready(function() {
  $("#date").datepicker({
      minDate: -3,
      maxDate: "1w"
  });

});

参考:-将最小和最大日期设置为 jquery datepicker

于 2014-11-17T17:08:48.800 回答
0

你可以试试:

var expdisp = $("#expdisp").attr("value");

$("#expirydate" ).datepicker({
    showOn: "button",
    buttonImage: "images/calendar.gif",
    buttonImageOnly: true,
    dateFormat: "dd/mm/yy",
    defaultDate: expdisp,
    showOtherMonths: true,
    selectOtherMonths: true,
    changeMonth: true,
    changeYear: true,

    minDate: -3M,
    maxDate: +28D
});
于 2013-02-01T12:16:05.720 回答
0

您还可以使用特定的日期范围。我添加了一个最小开始日期,最大 +14D。您只需要记住与您的日期格式保持一致,并在 MM/DD/YYYY 之间使用“/”而不是“-”。

$('#Date').datepicker({
  changeMonth: true,
  minDate: '10/19/2016',
  maxDate: '+14D',
});

于 2016-10-19T20:37:09.123 回答
0
$(document).ready(function () {
    $('input[id$=tbDate]').datepicker({   
        dateFormat: 'dd-mm-yy',
         minDate: '-0D',
         maxDate: '+28D',
    });
});
于 2018-05-14T08:35:28.680 回答
0
var startDate = new Date(); // Now
var endDate = new Date();
endDate.setDate(startDate.getDate() + 30); // Set now + 30 days as the new date
$('#myDatePicker').datepicker('setEndDate', endDate);//1st set  end date
$('#myDatePicker').datepicker('setStartDate', startDate);//
于 2020-06-15T16:47:08.780 回答