【问题标题】:Enable date every Thursday but disable certain Thursday每周四启用日期,但禁用某些星期四
【发布时间】:2017-08-08 02:30:18
【问题描述】:

我想问一下日期选择器。我目前正在开发一个网站,大学生必须选择自己的星期四来听取有关职业的讨论。

首先,我已设法禁用除星期四以外的所有日子。我写的代码如下:

<script>
  $( function() 
{
$( "#datepicker" ).datepicker({dateFormat: 'yy-mm-dd', minDate: 0, maxDate: 
'2018-12-15', beforeShowDay: function(date){var day = date.getDay();return 
[day == 4,'disable'];
}});
  } );
</script>

但现在我要禁用某个星期四,例如下星期四,即: 'yy-mm-dd' = '2017-08-17'

有人可以向我解释我应该如何或在哪里修改可以让我禁用某个星期四的代码吗?

为我的日期选择器参考这张图片 https://drive.google.com/file/d/0ByJlnNeKIynkQ3IzRTN2cHg4WFE/view?usp=sharing

【问题讨论】:

标签: wordpress date jquery-ui-datepicker


【解决方案1】:

这样使用:

Date.getDay() 返回0-6 范围内的值,而不是1-7

beforeShowDay: function(date) {
    return [date.getDay() === 0,''];
}

【讨论】:

  • 我需要在哪里添加?在我编码之前/之后?
【解决方案2】:

您仍然可以使用 onBeforeShowDay,因为它会在显示日期选择器之前被调用,因为更改月份会使日期选择器再次呈现。

您可以使用一个数组来存储日期列表,并根据您的 ajax 调用结果进行更改。例如:

//at first only september dates will be disabled.
var array = ["2017-08-10","2017-08-17","2017-08-24"];

 $('input').datepicker({
      onChangeMonthYear: function(year, month, inst) {
       // Perform AJAX call and get the list
       //override the array, and now the october dates will be disabled.
        $.ajax({
           url: ajaxUrl,
           type: "post",
           data: serializedData,
           async: false,
           success: function (data) {
             array = data; //["2017-08-10","2017-08-17","2017-08-24"];
          }
        });  
      },
     beforeShowDay: function (date) {
       var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
       return [array.indexOf(string) == -1 ]
     }
   });

【讨论】:

  • 我尝试删除我的代码并粘贴您的代码。但是日期没有弹出:/
  • 它完整的动态代码,如果你想要静态然后删除这一行:array = data; //["2017-08-10","2017-08-17","2017-08-24"];
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-23
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
  • 2016-01-26
  • 2021-10-21
  • 2013-12-29
相关资源
最近更新 更多