Вот пример, который может помочь.Я сделал пример трехстороннего выбора из элемента <select>
.Выбор определяет, какие датеры доступны.
$(function() {
$("#txtFrom").datepicker({
onSelect: function(selectedDate) {
$("#txtTo").datepicker("option", {
defaultDate: selectedDate,
minDate: selectedDate,
maxDate: "+15d"
});
}
});
$("#txtTo").datepicker({
changeMonth: true,
changeYear: true
});
$("#slctDate").change(function() {
switch ($("option:selected", this).val()) {
case "None":
$("#txtFrom, #txtTo").val("").prop("disabled", true);
break;
case "Single":
$("#txtFrom, #txtTo").prop("disabled", false);
$("#txtTo").val("").prop("disabled", true);
break;
case "Range":
$("#txtFrom, #txtTo").prop("disabled", false);
break;
}
});
});
<link href="https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
Pick Choice:
<select id="slctDate">
<option></option>
<option>None</option>
<option>Single</option>
<option>Range</option>
</select>
<br />
<input type="text" id="txtFrom" disabled="true" />
<input type="text" id="txtTo" disabled="true" />
MaxDate
String : строка в формате, определяемомопция dateFormat или относительная дата.Относительные даты должны содержать пары значений и периодов;допустимые периоды: "y"
для лет, "m"
для месяцев, "w"
для недель и "d"
для дней.Например, "+1m +7d"
соответствует одному месяцу и семи дням с сегодняшнего дня.
From: http://api.jqueryui.com/datepicker/ - заполнен справкой.
Немного проще установитьМаксимальная дата таким образом, немного меньше кода.
Надеюсь, это поможет.