【问题标题】:jQuery error in MVC project: Datepicker is not a functionMVC 项目中的 jQuery 错误:Datepicker 不是函数
【发布时间】:2016-02-19 02:36:39
【问题描述】:

这是我的看法:

@Html.TextBox("toDateFilter", "", new { @class = "datepicker" })
...etc
...etc


<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>

<script>
    $(document).ready(function () {
        $(".datepicker").datepicker();
    });
</script>

我收到错误:

日期选择器不是函数。

我遵循了所有其他类似问题的建议,但没有任何效果。我还将视图更改为这些导入:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/ui-lightness/jquery-ui.min.css" />

我也试过这个:

var $j = jQuery.noConflict();
$j("#datepicker").datepicker();

我还检查了 jquery-ui.min.js 文件是否正确加载。

任何想法为什么会出错?如果我能提供更多信息,请告诉我...

【问题讨论】:

  • 建议您的 .ready() 在 jquery-ui.min 脚本加载之前运行。你能在该行放一个断点,看看外部脚本是否已经加载了吗?
  • 您的代码应该可以正常工作。我刚刚从您的问题中复制并粘贴了它,对我来说效果很好。
  • @AlanSchapira - 它在代码中的哪个位置运行该测试?
  • 完美运行:jsfiddle.net/u52pvn3j
  • 我会确保外部脚本位于 &lt;head&gt; 中,并且可能会考虑从您自己的域而不是 CDN 加载脚本。然后可以安全地预期 ready() 将在所有依赖项都加载后运行

标签: c# jquery asp.net-mvc datepicker


【解决方案1】:

日期选择器不是一个函数。我也面临这个问题。我已经使用 Jquery Noconflict 函数解决了它。

$.noConflict();
jQuery(document).ready(function ($) {
    $(function () {
        $('.datefield').datepicker();
    });
});

【讨论】:

    【解决方案2】:

    这是来自 cmets 中 Starscream1984 的答案,所以给他们点道具!

    问题是在 jquery-ui.js 脚本完成加载之前调用了 ready() 函数。

    无法通过将其移至 &lt;head&gt; 或从我自己的域加载脚本来解决此问题。

    我可以通过完全删除 ready() 函数并运行内容来修复它。

    如果有人知道我如何强制脚本首先加载,或者最后调用 ready() 函数,请告诉我。

    【讨论】:

      【解决方案3】:

      您是否尝试过这样做:

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

      文件准备好了吗?

      【讨论】:

      • 如果datepicker() 不是一个函数,那么你尝试传递给它的内容并不重要。
      • @AlanSchapira 您可以尝试将 jquery 包含在 Site.Master 中
      猜你喜欢
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 2013-08-25
      相关资源
      最近更新 更多