Как ограничить jQuery UI Datepicker, чтобы запретить даты в будущем?
Я использую jQuery UI Datepicker, такой, что можно выбрать только воскресенье.
то, что я хотел бы сделать, - это иметь его, где никакие даты из текущей даты в будущее не могут быть выбраны. Вот код, который я использую в настоящее время:
var daysToDisable = [1,2,3,4,5,6];
$('#startdate').datepicker({
beforeShowDay: disableSpecificWeekDays
});
function disableSpecificWeekDays(date) {
var day = date.getDay();
for (i = 0; i < daysToDisable.length; i++) {
if ($.inArray(day, daysToDisable) != -1) {
return [false];
}
}
return [true];
}
3 ответов
можно использовать maxDate свойство для предотвращения выбора будущих дат.
Примечание: это предполагает, что ваш dateFormat is dd/mm / yy
Edit: http://jsfiddle.net/jXGZz/
var fullDate = new Date();
var twoDigitMonth = ((fullDate.getMonth().length+1) === 1)? (fullDate.getMonth()+1) : '0' + (fullDate.getMonth()+1);
$('#startdate').datepicker({
maxDate: fullDate.getDate() + "/" + twoDigitMonth + "/" + fullDate.getFullYear(),
beforeShowDay: disableSpecificWeekDays
});
function disableSpecificWeekDays(date) {
if(date.getDay()==0){
return [true];
}else{
return [false];
}
}
изменен twoDigitMonth
var twoDigitMonth = fullDate.getMonth()+1<10 ? "0"+fullDate.getMonth()+1 : fullDate.getMonth()+1 ;
Я бы просто использовал одну запись, чтобы ограничить дату ничем, кроме сегодняшнего дня:
$('#startdate').datepicker({
maxDate: '+0d'
});
пожалуйста, позвоните datepicker, как это
jQuery(document).ready(function() {
$('#startdate').datepicker({
beforeShowDay: disableSpecificWeekDays
});
});