【问题标题】:Using jquery datepicker使用 jquery 日期选择器
【发布时间】:2020-10-12 21:18:21
【问题描述】:

我有一个 @Html.edifor 来显示出生日期,我想使用 jquery datepicker 来显示日历。 我的脚本代码位于外部 js 文件中,并且对该文件的正确引用位于视图中。 我也在应用配置中使用捆绑包。

这是我的脚本

$(function () {
    $("#DateOfBirth").datepicker({
        dateFormat: "dd-MMM-yy",
        changeMonth: true,
        changeYear: true
    });
});

我收到以下错误。

Jquery?v=gywVLk6VvVVR_J6-oRPIvBpBvXSXEW6ZffeMhgu--bE1:1 Uncaught TypeError: $(...).datepicker is not a function.

这是我的 bundleConfig

        bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
        "~/Scripts/jquery-ui-1.12.1.js"));
        //css  
        bundles.Add(new StyleBundle("~/Content/cssjqryUi").Include(
               "~/Content/jquery-ui.css"));

谁能帮我找出问题所在。

谢谢!

【问题讨论】:

  • 你加载了 jQuery UI Datepicker 库吗?
  • 是的,我已经下载了
  • 你有一个 <script> 标签来加载它?
  • 我的 bundleconfig 文件中有它的引用。
  • jQueryUI 依赖于 jQuery。你在哪里将 jQuery 本身添加到包中?

标签: javascript jquery jquery-ui-datepicker


【解决方案1】:

函数声明和Datapicker引用必须在JQuery引用之前完成。

您必须先加载 jQuery 或相关的。
然后是 Datapicker。
然后调用初始化数据选择器。

【讨论】:

  • 我认为要使其正常工作,您必须将脚本放在您希望日期选择器显示的视图上,而不是放在外部 js 文件上。这就是我让它工作的方式。
  • @Schleid 如果是这种情况,您的问题是您的问题中未指定的另一个问题,因为它与您在哪里调用 js 代码无关。
  • 我也在考虑这个问题,能否举个例子,不胜感激
  • @Schleid 我相信是一些个人选举,但我不使用捆绑软件,只是像通常的那样引用脚本。我为 MVC 3 做了它,并在 4、5 和 Core 中更改了方法,只是因为我没有看到任何使用它的充分理由。此外,如果我可以使用它,我将选择一个 CDN 源而不是共享该资源。但同样,按照需要使用的顺序使用脚本,首先是 jquery,然后是依赖项。毕竟我的自定义代码。
  • 非常感谢。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 2011-11-06
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多