【问题标题】:Air date picker disable dates styling not effect in current month空气日期选择器禁用日期样式在当月无效
【发布时间】:2021-12-13 02:38:17
【问题描述】:

我目前正在使用播出日期选择器(最新版本)。当我尝试使用 onRenderCell 函数启用一些随机日期时,其他日期会以适当的样式禁用(例如以浅灰颜色显示的日期等),但在当前月份,样式对某些日期无效。

这是我的代码。

<div id="disabled-days" class="datepicker-style-01" data-datepicker="true" 
data-range="true" data-multiple-dates-separator=" - " data-picker-option='{"inline":true,"language":"my-lang"}' 
data-future-only="true"></div>

<script>
   var enabledDays = ['2021-10-24','2021-10-27','2021-10-30','2021-11-25','2021-11-28'];

   $('#disabled-days').datepicker({
        dateFormat: 'yyyy/mm/dd',
        onRenderCell: function onRenderCell(date, cellType) {
           if (cellType == 'day') {
              var day = (date.getFullYear()+'-'+(('0' + (date.getMonth()+1)).slice(-2))+'-'+(('0' + date.getDate()).slice(-2)));
              var isDisabled = enabledDays.indexOf(day) == -1;
              return {
                 disabled: isDisabled
              }
           }
        }
   })
</script>

以下是当月和下月结果的图片。 (启用日期以红色标记)。 (当前月份/10 月 29 日和 31 日已禁用,但上述样式未正确设置。)

我无法弄清楚这个问题的确切原因。有人可以帮我解决这个问题吗?谢谢。

【问题讨论】:

    标签: jquery datepicker


    【解决方案1】:

    对我来说很好用!

    $(function(){
       var enabledDays = ['2021-10-24','2021-10-27','2021-10-30','2021-11-25','2021-11-28'];
    
       $('#disabled-days').datepicker({
            dateFormat: 'yyyy/mm/dd',
            onRenderCell: function onRenderCell(date, cellType) {
               if (cellType == 'day') {
                  var day = (date.getFullYear()+'-'+(('0' + (date.getMonth()+1)).slice(-2))+'-'+(('0' + date.getDate()).slice(-2)));
                  var isDisabled = enabledDays.indexOf(day) == -1;
                  return {
                     disabled: isDisabled
                  }
               }
            }
       })
    });
    @import 'https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/css/datepicker.min.css';
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/js/datepicker.min.js"></script>
    
    <div id="disabled-days" class="datepicker-style-01" data-datepicker="true" 
    data-range="true" data-multiple-dates-separator=" - " data-picker-option='{"inline":true,"language":"my-lang"}' 
    data-future-only="true"></div>

    【讨论】:

      猜你喜欢
      • 2017-08-23
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 2017-04-22
      • 1970-01-01
      相关资源
      最近更新 更多