【问题标题】:jQuery date picker disable first monday of the monthjQuery 日期选择器禁用本月的第一个星期一
【发布时间】:2013-05-22 13:18:22
【问题描述】:

我在使用 jQuery 日期选择器时遇到了一些麻烦。

我编写了一些代码来仅启用周五、周六和周日。事实证明这比我最初想象的要容易,因为我是 javascript 的新手。 (我现在只做 Python……)

我已有的代码如下:

jQuery(document).ready(function($) {
    $( '#vfb-date-34' ).datepicker({
    numberOfMonths: 2,
    beforeShowDay: enableFridayAndWeekends
    });


    function enableFridayAndWeekends(date) {
    var day = date.getDay();
    return[(day==5||day==6||day==0||day==1), ''];
    }
});

请原谅错误的函数命名 - 这是一个快速而肮脏的事情,但我也在我自己的文档中准确记录了正在发生的事情。

我还想禁用每个月的第一个星期一。有人知道我如何修改此代码以完成此操作吗?我已经尝试在 SO 和 Google 上进行搜索,但即使在查看了看起来类似问题的代码之后,我也无法找出正确的逻辑。如果有人可以在这里帮助我,我将非常感激!

【问题讨论】:

  • 只启用了周五、周六和周日。这意味着所有其他剩余的工作日都已被禁用。这意味着所有星期一都已被禁用。这意味着每个月的第一个星期一也已经被禁用。我说的对吗?
  • 代码中的错误命名可能会误导您。我为此道歉。如果你看一下代码,我里面也有“day==1”。这意味着我也在启用星期一。
  • 好的,所以所有的 Mon 也都启用了。明白了……

标签: jquery datepicker


【解决方案1】:

试试

jQuery(document).ready(function($) {
    $( '#vfb-date-34' ).datepicker({
        numberOfMonths: 2,
        beforeShowDay: enableFridayAndWeekends
    });


    function enableFridayAndWeekends(date) {
        var day = date.getDay();
        return [(day==5 || day==6 || day==0 || (day==1 && date.getDate() > 7)), ''];
    }
});

演示:Plunker

【讨论】:

  • 哇!效果很好!顺便说一句,Plunker 看起来非常棒!
  • @ericmjl 当你在这样的论坛上提问时,最好使用Plunker/JSFiddle等工具创建一个工作演示。
猜你喜欢
  • 1970-01-01
  • 2012-09-29
  • 2021-10-21
  • 1970-01-01
  • 2014-02-11
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
相关资源
最近更新 更多