【问题标题】:Only show first Friday of every month as available to pick - jQuery UI Datepicker仅显示每个月的第一个星期五可供选择 - jQuery UI Datepicker
【发布时间】:2012-02-24 16:54:34
【问题描述】:

我试图只允许在我的 jQuery UI Datepicker 中选择每个月的第一个星期五,并拒绝任何其他日期。

我意识到我可以结合 PHP 和 jQuery 来做到这一点,方法是获取未来 X 个月的第一个星期五的日期,然后将它们添加到我在 Datepicker 的 beforeShowDay 中检查的 javascript 数组中 - 类似于这个:

var allowedDates = new Array();
allowedDates[] = <?=date("d/m/Y",strtotime("first Friday of February 2012"))?>
allowedDates[] = <?=date("d/m/Y",strtotime("first Friday of March 2012"))?>
allowedDates[] = <?=date("d/m/Y",strtotime("first Friday of April 2012"))?>

(我当然会把它放在一个 for 循环中,而不是每个月手动输入)

这样做的问题是它是有限的,因为我必须指定未来多远。那么有没有办法用 javascript 来检查 Datepicker 的 beforeShowDay 中检查的日期是否是本月的第一天,而无需我指定要检查的未来多远?

谢谢!

【问题讨论】:

  • 我不知道它是否可以完成,但如果不能完成,我会附加一个事件(可能模糊 - 即失焦)并将用户选择的日期更改为该月的 1 日..但它需要通知用户只能选择第一个。不是最好的,但这是一种出路..
  • 这是 jQuery UI 日期选择器还是其他类型的?
  • 是的,jQuery UI 日期选择器
  • 如果他们只能选择一个月的第一个星期五,那么真的需要日期选择器吗?为什么不只提供一个精选的月份列表?正如您所描述的,您可以轻松找出服务器端的正确日期。

标签: php javascript jquery jquery-ui datepicker


【解决方案1】:

这应该对你有用:

jQuery('#datepicker').datepicker({
    beforeShowDay: function(date) {
        var day = date.getDay();
        var day2 = date.getDate();
        return [(day == 5 && day2 <= 7), ''];   
    }
});

如你所见here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多