【问题标题】:datepicker is not a functiondatepicker 不是一个函数
【发布时间】:2013-03-03 19:18:28
【问题描述】:

这个问题已经被问过很多次了,但没有一个对我有用。我正在尝试在 JSP 文件中使用此日期选择器。这是我的脚本

<head>
<title>My Home</title>
<link rel="stylesheet" type="text/css"
href="../resource/css/page-style.css" />
<link rel="stylesheet" type="text/css"
href="../resource/css/jQuery-ui.css" />
<script src="../resource/js/jquery-1.9.1.js"></script>
<script src="../resource/js/jquery-ui.js"></script>
<script type="text/javascript" src="../resource/js/form-elements.js"></script>

<script type="text/javascript">
$("document").ready(function() {
    $("#shortcuts").load("shortcut.html");
    $("#datepicker").datepicker();
    alert('jQuery is working');
});
</script>
</head>

shortcut 文件正在完美加载,同时还会显示警报。我收到TypeError: $(...).datepicker is not a function 的错误消息。如果我在放置在桌面上的 html 文件中运行此脚本,我不会遇到此问题,当我将代码复制到我的 IDE 并运行它时,我在控制台中收到此错误。请建议我该怎么办?我知道这个问题被问过好几次了

【问题讨论】:

  • 我不这么认为。我在其他文件中有相同的 head 标签。完美运行。
  • 确保您拥有DOM,ID 为datepicker,并确保ID 是唯一的。
  • 代码看起来不错..确保您的 ui 已加载..查看页面的源代码并单击 firefox 中的 jquery-ui 链接以检查 ui 是否已加载
  • 检查您的js 文件是否已正确加载。您可以在firebug 的帮助下查看它
  • 检查重复 ID。 NO ID 是唯一的。检查是否加载了 js 文件可能会有所帮助

标签: javascript jquery jsp


【解决方案1】:

这与导入文件有关。我也遇到了同样的情况,以下导入帮助我克服了以下问题“datepicker is not a function”。

    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/js/bootstrap-datepicker.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/css/bootstrap-datepicker3.css"/>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
    <script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

【讨论】:

    【解决方案2】:

    问题在于您导入的文件。我认为您没有正确放置它们。

    尝试导入这些文件

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

    它对我有用。

    查看更多information

    【讨论】:

    • 将相对源替换为 url 工作文件。但为什么?有什么猜测吗?
    • 现在将相同的文件复制到您的文件夹中。然后尝试
    • @Dibya 无论您以前使用什么文件,它们都可能不正确。否则您提供的路径不正确
    • @Dibya 你在复制那些文件
    • 我在尝试,我可以正确引用我的 jquery-ui.js 文件,但引用文件在本地无法正常工作。我现在有这个代码:&lt;script src="http://code.jquery.com/jquery-1.9.1.js"&gt;&lt;/script&gt;&lt;script src="../resource/js/jQuery-ui.js"&gt;&lt;/script&gt;,这是有效的。 :(
    【解决方案3】:

    仔细检查在您的 JQuery-ui 引用之后没有 JQuery 引用。

    在我的 JQuery-ui 参考之后,我有一个额外的 JQuery 参考,并且浪费了一个小时来解决这个问题。这将导致 datepicker not found 错误。

    【讨论】:

    • 很高兴知道。谢谢。
    • 这个答案需要放在首位:)
    • 我通过DataTable导入了jquery,然后我引用了jquery ui,然后我的chrome浏览器中安装的扩展程序引用了jquery的各种引用,因此我收到了这个错误。
      现在我正在写对我有用的东西,我将对 jquery ui 的引用移到页面底部。它工作了
    猜你喜欢
    • 2010-11-15
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 2016-09-12
    • 2019-06-16
    相关资源
    最近更新 更多