如何在jQuery UI日期选择器中禁用公共假期?

时间:2014-02-27 10:06:23

标签: javascript jquery html datepicker jquery-ui-datepicker

我正在做一个假期预订申请,显然你不需要预订已经给你的假期,所以我需要知道如何禁用圣诞节,例如从每年的日期选择器中取消我不得不每年更改代码。

到目前为止,这是我的jQuery UI日期选择器代码:

<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>

2 个答案:

答案 0 :(得分:12)

您可以排除

之类的日期
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 ]
}
});

您可以为假期数组提供更多日期

答案 1 :(得分:1)

你必须使用DatePicker的beforeShowDay属性,如下所示:

$("#textboxid").datepicker({
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0,''];
}
})​​​​​;​

以上脚本将禁用所有星期日。