问题
I'm making a holiday booking application and obviously you don't need to book off holidays that are already given to you, so I need to know how I can disable, Christmas, for example from the date picker every year without me having to change the code every year.
This is my jQuery UI date picker code so far:
<script>
$(function() {
$("#from").datepicker({
beforeShowDay: $.datepicker.noWeekends,
defaultDate: "today",
changeMonth: true,
numberOfMonths: 1,
minDate: "today",
dateFormat: "dd/mm/yy",
onClose: function(selectedDate) {
$( "#to" ).datepicker("option", "minDate", selectedDate);
}
});
$("#to").datepicker({
beforeShowDay: $.datepicker.noWeekends,
defaultDate: "today",
changeMonth: true,
numberOfMonths: 1,
minDate: "today",
dateFormat: "dd/mm/yy",
onClose: function(selectedDate) {
$("#from").datepicker("option", "maxDate", selectedDate);
}
});
});
</script>
回答1:
you can exclude the dates like
var holidays = ["2014-02-27","2014-02-01"];
$( "#from" ).datepicker({
beforeShowDay: function(date){
var datestring = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ holidays.indexOf(datestring) == -1 ]
}
});
you can provide more dates to the holidays array
回答2:
You have to use beforeShowDay attribute of DatePicker like below:
$("#textboxid").datepicker({
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0,''];
}
});
Above script will disable all Sundays.
来源:https://stackoverflow.com/questions/22065143/how-do-i-disable-public-holidays-in-a-jquery-ui-date-picker