问题
I have the jQuery date picker setup and working but would like help with setting the minDate and maxDate options. My current code is below (without these options). How can I set the minDate as 3 months before the defaultDate, and maxDate as 28days after the defaultDate?
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,
});
回答1:
$(function() {
$( "#datepicker" ).datepicker({
changeYear: true,
minDate: '-3M',
maxDate: '+28D',
});
});
JSFiddle Demo
UPDATE
You can calculate tour max and min valid dates from the default date, then assign it to the date picker.
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
回答2:
maxDate :- Sets the maximum date that can be selected. Accepts a date object or a relative number. For example: +7, or a string such as +6m.
minDate :- Sets the minimum date that can be selected. Accepts a number, date object, or string.
$(document).ready(function() {
$("#date").datepicker({
minDate: -3,
maxDate: "1w"
});
});
Refer:-set Minimum and maximum date to jquery datepicker
回答3:
Your could try:
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
});
回答4:
You can also use specific date ranges. I added a min beginning date with a +14D max. You just need to remember to stay consistent with your date format and use "/" instead of "-" between MM/DD/YYYY.
$('#Date').datepicker({
changeMonth: true,
minDate: '10/19/2016',
maxDate: '+14D',
});
回答5:
$(document).ready(function () {
$('input[id$=tbDate]').datepicker({
dateFormat: 'dd-mm-yy',
minDate: '-0D',
maxDate: '+28D',
});
});
来源:https://stackoverflow.com/questions/14646008/jquery-datepicker-min-max-dates