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

求助:TypeError: $(...).datetimepicker is not a function错误排查

解决TypeError: $(...).datetimepicker is not a function的问题

我知道你已经排查过脚本加载顺序,也确认了依赖都引入了,但还是碰到这个报错,下面是几个容易被忽略的可能原因,你可以逐一排查:

  • jQuery版本不兼容
    不同版本的bootstrap-datetimepicker对jQuery版本有不同要求,比如有些旧版插件无法适配jQuery 3.x以上的版本,反之亦然。你可以去你使用的datetimepicker官方文档里查看推荐的jQuery版本,替换成匹配的版本再试试。比如eonasdan的bootstrap-datetimepicker要求jQuery 1.8.3及以上,但如果是其他分支的datetimepicker,要求可能不同。

  • 脚本文件路径错误
    哪怕你觉得路径没问题,也建议用浏览器开发者工具(F12)的Network标签页检查一下:刷新页面后,看看bootstrap-datetimepicker.js、jquery.js这些文件是不是都成功加载(状态码为200)。如果出现404,说明路径写错了,你可以改成绝对路径(比如/js/jquery.js)或者修正相对路径,确保文件能被正确找到。

  • 重复加载jQuery
    要是页面里不小心重复加载了jQuery(比如在你没贴出来的代码片段里),新的jQuery实例会覆盖之前的,而datetimepicker是绑定在旧实例上的,这就会导致新的$没有datetimepicker方法。检查整个页面,确保只加载一次jQuery。

  • 插件与Bootstrap版本不匹配
    bootstrap-datetimepicker是依赖Bootstrap的,不同版本的插件对应不同版本的Bootstrap。比如适配Bootstrap 3的插件不能直接用在Bootstrap 4项目里,反之亦然。确认你用的datetimepicker版本和当前Bootstrap版本是兼容的。

  • jQuery处于noConflict模式
    如果你的项目里启用了jQuery.noConflict(),$就不再指向jQuery了,这时候用$(...).datetimepicker()自然会报错。你可以把初始化代码改成用jQuery代替$试试:

    jQuery(function () {
        jQuery('#datetimepicker2').datetimepicker({ locale: 'ru' });
    });
    

另外,你可以在初始化代码前加一段测试代码,快速定位问题:

$(function () {
    console.log('jQuery 是否加载:', typeof $);
    console.log('datetimepicker 是否可用:', typeof $.fn.datetimepicker);
    if (typeof $.fn.datetimepicker === 'function') {
        $('#datetimepicker2').datetimepicker({ locale: 'ru' });
    } else {
        console.error('datetimepicker 插件未成功加载!');
    }
});

通过控制台输出,你能清楚知道是jQuery没加载,还是插件本身没加载成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:55:31