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

Contact Form 7使用jquery-ui-datepicker禁用周六不生效怎么解决

排查解决步骤

1. 修复输入框类型冲突

jquery-ui-datepicker 无法绑定原生type="date"的输入框,Contact Form 7 默认输出的date短代码为原生日期控件,你需要修改短代码强制输出文本类型输入框:

[date* your-date date-479 id:datepiicker min:today placeholder "date de reservation*" html:type="text"]

如果你的站点已经开启了CF7的jQuery UI日期控件替代功能,可跳过这一步,直接检查ID是否匹配

2. 确认选择器与实际DOM ID一致

打开浏览器开发者工具,检查页面上的日期输入框ID是否为datepiicker,确认没有拼写错误(注意你写的ID是datepiicker而非常见的datepicker,不要写错)。

3. 避免初始化配置被覆盖

Contact Form 7 会自动初始化日期控件,直接在document.ready里绑定配置可能被CF7的默认配置覆盖,需要用CF7的初始化完成事件来执行你的自定义配置,修改后的jQuery代码如下:

jQuery(document).on('wpcf7init', function() {
    jQuery("#datepiicker").datepicker("option", "beforeShowDay", function(date) {
        var day = date.getDay();
        // 6对应周六,0对应周日,如果需要同时禁用周日可以改成 return [(day != 0 && day != 6), '']
        return [(day != 6), ''];
    });
});

如果上述代码不生效,可以尝试延后执行时机:

jQuery(document).ready(function($) {
    setTimeout(function() {
        $("#datepiicker").datepicker("option", "beforeShowDay", function(date) {
            var day = date.getDay();
            return [(day != 6), ''];
        });
    }, 300);
});

如果控制台报「cannot call methods on datepicker prior to initialization」错误,把代码里的datepicker("option", 配置)改为直接datepicker(配置)即可。

4. 验证依赖加载

确认页面已经正确加载jQuery、jquery-ui、jquery-ui对应的css文件,没有加载顺序错误、资源404等问题。

内容的提问来源于stack exchange,提问作者Maryam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:15:06