我几乎没有找到堆栈溢出的答案,但仍然不能解决我的问题. 我在Django上运行,但我认为这与这个错误无关.

我try 将work作为我的日期 Select 器java脚本,但我收到错误

1:27未捕获的TypeError:$(.).datepicer不是函数(匿名函数)@1:27fire@jQuery-1.9.1.js:1037self.FireWith@jQuery-1.9.1.js:1148jQuery.extend.ady@jQuery-1.9.1.js:433Complete@jQuery-1.9.1.js:103 jQuery-2.1.0.min.js:4 XHR已完成加载:POST"https://localhost:26143/skypectoc/v1/pnr/parse".l.cors.a.CroDomain.send@jQuery-2.1.0.min.js:4o.extend.ajax@jQuery-2.1.0.min.js:4PNR.findNumbers@pnr.js:43parseContent@contentscript.js:385processMutatedElements@contentscript.js:322

这是我所有的 playbook :

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />


<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>

<script type="text/javascript">
$(document).ready(function() {
    $('.dateinput').datepicker({ format: "yyyy/mm/dd" });
}); 
</script>

      <!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script>
<!-- Just to make our placeholder images work. Don't actually copy the next line! -->
<script src="http://getbootstrap.com/assets/js/vendor/holder.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="http://getbootstrap.com/assets/js/ie10-viewport-bug-workaround.js"></script>
 <script type="text/javascript">
              $(document).ready(function() {
                  $("#extra-content").hide();
                  $("#toggle-content").click(function(){
                      $("#extra-content").toggle();
                  });
              });
 </script>            

如有任何反馈,我们将不胜感激.

推荐答案

What went wrong?

第一次包含jQuery时:

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>

第二个脚本将自身插入jQuery,并"添加"$(...).datepicker.

但接下来,您将再次包括jQuery:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

它取消了插入,因此$(...).datepicker变为未定义.

尽管前$(document).ready个块出现在这之前,但匿名回调函数体直到所有脚本都加载后才会执行,此时$(...)(准确地说是window.$)指的是最近加载的jQuery.

如果立即调用$('.dateinput').datepicker而不是在$(document).ready回调中调用,则不会遇到这种情况,但是需要确保脚本之前的文档中已经存在目标元素(类为dateinput),通常建议使用ready回调.

Solution

如果您想使用jQuery-UI中的datepicker,那么包含jQuery-UI脚本after bootstrap 可能是最有意义的.jQuery-UI1.11.4与jQuery 1.6+兼容,因此可以很好地工作.

或者(特别是如果您没有使用jQuery-UI做任何其他事情),您可以try bootstrap-datepicker.

Django相关问答推荐

无法在views.py django中验证密码

django re_path() 函数模式与包含该模式的 url 不匹配

通过 OrderingFilter 过滤平均和

自定义身份验证 django

Django 按月分组并按月显示在模板中

如何在 Django 模板中的计数器上进行 for 循环中断?

Django - 使用在 URL 中传递的父类主键从子类中过滤对象

为什么 django 不能相互识别 2 个路径转换器?

组织大型 Django 元素的指南

在 Django 的 TextField 中禁用 HTML 转义

Django Calendar日历小部件?

如何在 django 中生成 url

Django删除查询集的最后五个以外的所有内容

Django - 在模板中显示当前日期和时间

如何在 Django 中向 ChoiceField 添加class?

django:TypeError:'tuple'对象不可调用

保存前向 ModelForm 对象添加数据

Django REST Framework - 序列化可选字段

在 Django 中的字段中添加额外的约束

1 个 django 应用程序中约有 20 个模型