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

Posted

技术标签:

【中文标题】如何在 jQuery UI 日期选择器中禁用公共假期?【英文标题】:How do i disable public holidays in a jQuery UI date picker? 【发布时间】:2014-03-30 16:23:57 【问题描述】:

我正在制作一个假期预订应用程序,显然您不需要预订已经给您的假期,所以我需要知道如何禁用圣诞节,例如每年从日期选择器中不我每年都必须更改代码。

到目前为止,这是我的 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>

【问题讨论】:

这应该会有所帮助...davidwalsh.name/jquery-datepicker-disable-days 与***.com/questions/677976/…重复 【参考方案1】:

你可以排除日期

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 ]

);

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

【讨论】:

每年是否有 12 个中的第 25 个被禁用,因为如果我这样做,我必须每年更改代码或在数组中输入很多日期跨度> 嗨,如果我设置 Max date 怎么样?这不包括假期吗?【参考方案2】:

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

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

)​​​​​;​

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

【讨论】:

以上是关于如何在 jQuery UI 日期选择器中禁用公共假期?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jQuery 日期选择器中为禁用日期添加工具提示?

如何在 jquery UI datepicker 中禁用今天之前的日期?

如何在 jQuery UI 日期选择器中获取日期、月份、年份?

在 jQuery UI 日期选择器中在日期旁边显示附加文本

在 jQuery UI 日期选择器中格式化日期

我如何在 jquery 日期选择器中制作一个清晰的按钮