jQuery DatePicker最小最大日期

时间:2013-02-01 12:10:31

标签: jquery datepicker maxdate mindate

我有jQuery日期选择器设置和工作,但希望帮助设置minDate和maxDate选项。我目前的代码如下(没有这些选项)。如何将defaultDate设置为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,
});

6 个答案:

答案 0 :(得分:14)

$(function() {

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

JSFiddle Demo

<强>更新

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

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',
});

Update Demo

答案 1 :(得分:2)

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

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

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

});

参见: - set Minimum and maximum date to jquery datepicker

答案 2 :(得分: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
});

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

$(document).ready(function () {
    $('input[id$=tbDate]').datepicker({   
        dateFormat: 'dd-mm-yy',
         minDate: '-0D',
         maxDate: '+28D',
    });
});

答案 5 :(得分: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);//