Y con algo de prueba y error se podría lograr usando los parámetros minDate y maxDate. Ejemplo:
Código HTML:
Ver original<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script> <link rel="stylesheet" type="text/css" media="screen" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css"> <script type="text/javascript"> $(function() {
$('.date-picker-1').datepicker( {
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy',
onClose: function(dateText, inst) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1));
},
//limitar entre dos fechas. Junio del 79 y enero del 88 {el dia es 1, porque no importa}
minDate: new Date(79,5,01),
maxDate: new Date(88,1,01),
});
$('.date-picker-2').datepicker( {
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy',
onClose: function(dateText, inst) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1));
},
//limitar entre un mes antes y un mes después al actual
minDate: '-1M',
maxDate: '+1M',
});
});
.ui-datepicker-calendar {
display: none;
}
<input name="startDate" id="startDate" class="date-picker-1" /> <input name="startDate" id="startDate" class="date-picker-2" />
Más info:
http://jqueryui.com/demos/datepicker/#option-minDate