You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jQuery UI Datepicker中禁用每月的第二个和第四个周六

解决禁用指定星期及每月第二、第四个周六的问题

没问题,我来帮你调整这段代码,让它同时实现原有禁用指定星期的逻辑,以及新增禁用每个月第二个和第四个周六的功能!

修改后的完整代码

beforeShowDay: function(date) {
  let show = true;
  
  // 保留原有的禁用指定星期的逻辑
  for (var k in holidays) {
    if (date.getDay() === holidays[k]) {
      show = false;
    }
  }
  
  // 新增:判断是否是第二个或第四个周六
  const dayOfWeek = date.getDay();
  const weekOfMonth = Math.ceil(date.getDate() / 7);
  // 周六的getDay()返回6,同时是第2周或第4周的话就禁用
  if (dayOfWeek === 6 && (weekOfMonth === 2 || weekOfMonth === 4)) {
    show = false;
  }
  
  return [show];
}

逻辑说明

  • 原有逻辑:循环holidays数组,只要当前日期的星期数匹配数组里的值,就设为不可选。
  • 新增逻辑:
    1. date.getDay()获取星期数(周六对应6);
    2. Math.ceil(date.getDate() / 7)计算该日期是当月的第几周(比如1-7号是第1周,8-14号是第2周,以此类推);
    3. 如果是周六,且属于第2周或第4周,就将日期设为不可选。

这样修改后,就能同时满足你的两个需求啦!

内容的提问来源于stack exchange,提问作者Akshay K Nair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 05:14:08