我几乎没有找到堆栈溢出的答案,但仍然不能解决我的问题. 我在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相关问答推荐

Django为不同应用程序发出信号

ModuleNotFoundError:没有名为guardian.shortcuts的模块

django 无法识别实现自定义后端

从多个数据库访问 Django 会话

如何在Django模板中有条件地传递值给with变量?

Django中的InvalidOperation错误[]

NoneType对象没有属性保存Django

Django获取具有值的相关对象的计数并将其添加到注释中

目前使用 Django Evolution,South是否更好,值得切换?

is_valid() vs clean() Django 表单

带有消息判断的 Django/Python assertRaises

从 virtualenv 中,pip freeze > requirements.txt 给出了一堆垃圾!如何修剪它?

django 模板 if 或语句

Django 默认=timezone.now + delta

has_object_permission 和 has_permission 有什么区别?

django 模板中对象的模型名称

Django - 一起为 2 个或更多字段创建唯一的数据库约束

响应发送到客户端后在 Django 中执行代码

具有 2 种语言的 Django 站点

运行单元测试时禁用 Django South?