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

datetimepicker is not a function报错:表单日期时间选择器配置失败

解决"datetimepicker is not a function"错误的排查方案

这种报错我碰到过好多次,大多是依赖缺失、加载顺序不对或者版本冲突导致的。结合你提到的CSS引入情况,咱们一步步来排查:

1. 先补全核心JS依赖,严格按顺序加载

bootstrap-datetimepicker有几个不可缺少的前置依赖,你只提到了CSS的引入,JS部分很可能没补全或者顺序错了,这是最常见的问题。正确的JS加载顺序必须是这样的(建议放在CSS引入之后,或者页面底部):

<!-- 第一步:引入jQuery(所有jQuery插件的基础,必须最先加载) -->
<script src="你的jQuery文件路径"></script>
<!-- 第二步:引入Bootstrap JS(如果用的是基于Bootstrap的datetimepicker版本) -->
<script src="你的Bootstrap JS文件路径"></script>
<!-- 第三步:引入moment.js(datetimepicker处理日期解析/格式化的核心依赖,绝对不能漏) -->
<script src="你的moment.js文件路径"></script>
<!-- 第四步:最后引入同版本的bootstrap-datetimepicker JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>

注意:如果项目里已经有这些依赖,不要重复引入,否则会引发冲突。

2. 检查版本兼容性

你用的是bootstrap-datetimepicker 4.17.37,这个版本对应的依赖版本建议:

  • jQuery:1.9.1及以上(你引入的jQuery UI 1.8对应的jQuery版本可能太老,比如jQuery 1.6,建议升级到jQuery 3.x稳定版)
  • Bootstrap:3.x版本(如果用Bootstrap 4,建议换用适配的tempusdominus-bootstrap-4,原bootstrap-datetimepicker对Bootstrap 4支持不佳)
  • moment.js:2.10.0及以上

3. 排查是否重复引入jQuery

有时候页面其他部分(比如模板底部、第三方插件)会偷偷引入另一版jQuery,这会覆盖之前加载的插件,导致找不到datetimepicker方法。你可以打开浏览器控制台,输入jQuery.fn.datetimepicker,如果返回undefined,基本可以确定是jQuery重复引入了。

4. 确保初始化代码在正确时机执行

初始化代码必须等DOM和所有JS都加载完成后再运行,推荐用$(document).ready()包裹:

$(document).ready(function() {
  // 替换成你的日期选择器元素ID或类名
  $('#your-datetime-input').datetimepicker({
    // 这里写你的配置项,比如format: 'YYYY-MM-DD HH:mm:ss'
  });
});

或者直接把初始化代码放在所有JS文件的最底部,确保DOM已经渲染完成。

最后核对CSS与JS版本一致性

你引入的CSS是bootstrap-datetimepicker.css,对应的JS必须是同版本的bootstrap-datetimepicker.js,不要混用不同版本的CSS和JS,否则不仅功能报错,样式也会混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:51:01