【问题标题】:ASP.NET MVC JQuery-UI autocompleteASP.NET MVC JQuery-UI 自动完成
【发布时间】:2017-01-07 13:54:32
【问题描述】:

我对 jquery 自动完成方法有疑问。我总是收到这个错误:

“未捕获的类型错误:$(...).autocomplete 不是函数”。

我做错了什么,在我的代码下面: _Layout.cshtml: 在头部:

@Styles.Render("~/Content/css")
@Styles.Render("~/Content/themes/base/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/bootstrap-social.css" rel="stylesheet" />
<link href="~/Content/font-awesome.min.css" rel="stylesheet" />
<link href="~/Content/bootstrap-formhelpers.min.css" rel="stylesheet" />
<link href="~/Content/custom.css" rel="stylesheet" />

在正文部分的末尾:

<script src="~/Scripts/custom.min.js"></script>
<script src="~/Scripts/jquery-3.1.1.min.js"></script>
<script src="~/Scripts/jquery-ui-1.12.1.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)

和脚本:

<script type="text/javascript" language="javascript">

$(document).ready(function () {
    $('#somevalue').autocomplete({
        source: '@Url.Action("Index","Search")'
    });
})

【问题讨论】:

    标签: javascript jquery asp.net-mvc autocomplete


    【解决方案1】:

    您生成的重复脚本。您在布局中包含的许多相同脚本然后在正文的末尾重复,特别是您的最终@Scripts.Render("~/bundles/jquery") 第三次包含jquery-{version}.js,并且通过最后包含它,它消除了之前所有依赖jquery的脚本(包括jquery-ui)。

    仅包含一个脚本,并且顺序正确。我建议保持一定的一致性并遵循一个约定,例如,将所有脚本放在结束 &lt;/body&gt; 标记之前(modernizr 除外,它需要放在头部),并为所有脚本使用捆绑包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-24
      • 1970-01-01
      • 2019-05-29
      • 1970-01-01
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多