【问题标题】:Error: Bootstrap datetimepicker is not a function错误:引导日期时间选择器不是函数
【发布时间】:2017-07-08 22:21:06
【问题描述】:

我对 html 和引导非常陌生。我正在尝试使用 datetimepicker 函数。

我知道这个问题已经被问过好几次了,我对类似的问题尝试了几个不同的答案,但仍然抛出 datetimepicker is not a function 相同的错误。如果您能告诉我我做错了什么,我将不胜感激。以下是我的代码:

     <div class="col-lg-4">
      <div class="form-group">
        <label for="datetimepicker1">Date:</label>
          <div class ='input-group date' id='datetimepicker1'> 
            <input type="text" class="form-control">
            <span class="input-group-addon">
              <span class="glyphicon glyphicon-calendar"></span>
            </span>
          </div>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>
        <script type="text/javascript">
          $(function () {
            $('#datetimepicker1').datetimepicker();
          });
        </script>
      </div>
    </div>

【问题讨论】:

  • 它不是 JQuery UI 的一部分吗?

标签: html bootstrap-datetimepicker


【解决方案1】:

js文件的顺序必须为

  1. jQuery 和 Moment.js
  2. Bootstrap.js
  3. 引导 datepicker.js

尝试使用以下代码:

  <div class="col-lg-4">
      <div class="form-group">
        <label for="datetimepicker1">Date:</label>
          <div class ='input-group date' id='datetimepicker'>
            <input type="text" class="form-control">
            <span class="input-group-addon">
              <span class="glyphicon glyphicon-calendar"></span>
            </span>
          </div>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>

        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.7.14/css/bootstrap-datetimepicker.min.css">
        <script type="text/javascript">
          $(function () {
             $('#datetimepicker').datetimepicker();
          });
        </script>
      </div>
    </div>

【讨论】:

  • 我试过这段代码,现在至少当我在它上面移动鼠标时它可以识别日历图标。但是当我点击它时仍然没有显示日历。
  • 它给出了同样的错误:Uncaught TypeError: $(...).datetimepicker is not a function
  • 谢谢,已解决。你的回答是对的。由于我在烧瓶中使用 cookiecutter,我不得不将 css 文件放在 {% block css %} [.css] {% endblock %} 之间。
【解决方案2】:

datetimepicker() 需要使用 position:relative 样式规则在 div 内的 input 元素上初始化。

JS Fiddle

<form class="form-inline">
  <div class="form-group">
    <label for="dtp">Date: </label>
    <div style="position:relative">
      <input type="text" class="form-control" id="dtp">
      <script>
        $(function() {
          $('#dtp').datetimepicker();
        });
      </script>
    </div>
  </div>
</form>

【讨论】:

  • 感谢您的回答,但仍然出现同样的错误。
猜你喜欢
  • 2017-02-23
  • 1970-01-01
  • 1970-01-01
  • 2013-05-09
  • 2014-09-27
  • 2017-08-29
  • 1970-01-01
  • 2017-01-10
  • 1970-01-01
相关资源
最近更新 更多