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

Bootstrap表单中Material日期选择器使用报错问题求助

解决Bootstrap Material日期选择器「Uncaught TypeError」错误及正确调用方法

错误原因分析

这个错误本质是jQuery无法找到bootstrapMaterialDatePicker方法,核心原因要么是依赖加载顺序/完整性有问题,要么是调用时机不对。


分步解决方法

1. 确保依赖加载顺序和正确性

必须严格按照「jQuery → Bootstrap JS → 日期选择器CSS → 日期选择器JS」的顺序加载,否则插件无法绑定到jQuery上:

<!-- 先加载jQuery -->
<script src="jquery.min.js"></script>
<!-- 再加载Bootstrap核心JS -->
<script src="bootstrap.min.js"></script>
<!-- 加载日期选择器的样式文件 -->
<link rel="stylesheet" href="bootstrap-material-datepicker.css">
<!-- 最后加载日期选择器的JS文件 -->
<script src="bootstrap-material-datepicker.js"></script>
  • 检查文件路径是否正确:打开浏览器开发者工具的「Network」标签,刷新页面,确认这些文件都能正常加载(没有404状态码)。
  • 避免重复加载jQuery:如果页面中多次引入不同版本的jQuery,会导致插件绑定到旧版本上,后续的jQuery覆盖后就找不到方法。

2. 选择正确的调用时机

必须等DOM完全加载完成后再调用插件方法,两种可靠方式:

方式一:把JS代码放在页面末尾(</body>标签前)

<!-- 你的日期输入字段 -->
<input type="text" id="my-datepicker" class="form-control">

<!-- 放在</body>之前的JS代码 -->
<script>
  $('#my-datepicker').bootstrapMaterialDatePicker({
    format: 'YYYY-MM-DD', // 自定义日期格式,按需调整
    weekStart: 1, // 周起始日,1代表周一
    time: false // 只需要日期的话设为false,需要时间则设为true
  });
</script>
</body>

方式二:用$(document).ready()包裹代码(适合JS代码放在<head>里的情况)

<head>
  <!-- 依赖文件加载代码... -->
  <script>
    $(document).ready(function() {
      $('#my-datepicker').bootstrapMaterialDatePicker({
        format: 'YYYY-MM-DD',
        weekStart: 1,
        time: false
      });
    });
  </script>
</head>

3. 排查其他细节问题

  • 确认选择器匹配:如果你的输入字段用的是类名(比如class="date-picker"),就要用$('.date-picker')调用,不要写错选择器。
  • 检查插件版本:确保下载的是适配你当前Bootstrap版本的Material日期选择器,版本不兼容也可能导致方法无法识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 01:22:03