如何在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数组,只要当前日期的星期数匹配数组里的值,就设为不可选。 - 新增逻辑:
date.getDay()获取星期数(周六对应6);Math.ceil(date.getDate() / 7)计算该日期是当月的第几周(比如1-7号是第1周,8-14号是第2周,以此类推);- 如果是周六,且属于第2周或第4周,就将日期设为不可选。
这样修改后,就能同时满足你的两个需求啦!
内容的提问来源于stack exchange,提问作者Akshay K Nair
相关产品推荐
相关产品推荐

