我之前遗漏了一些东西,但当我尝试将自动完成添加到文本框中时,我总是收到这样的消息:.autocomplete不是一个函数
_Layout (仅head部分):
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<meta name="viewport" content="width=device-width" />
<link href="../../Content/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.11.js" type="text/javascript"></script>
@Styles.Render("~/Content/themes/base/css", "~/Content/css")
@Scripts.Render("~/bundles/modernizr")
索引:
<script type="text/javascript">
$(function () {
$("#searchTerm").autocomplete({
source: "/Search/AutocompleteSuggestions",
minLength: 3,
select: function (event, ui) {
if (ui.item) {
$("#searchTerm").val(ui.item.value);
$("form").submit();
}
}
});
});
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }))'
{
<input id="searchTerm" name="searchTerm" type="text" />
<input type="submit" value="Go" />
}我非常确定Jquery插件没有正确加载,但我看不出原因!
发布于 2012-06-16 03:30:35
在挠头一个小时左右之后,我发现了问题所在,所以我这样做了:
脚本{}部分
MVC4附带了正确的JQuery文件,并且默认配置已经包含了必要的包。
希望这对其他人有帮助。
发布于 2012-06-11 01:01:37
您似乎没有包含定义autocompete方法的jquery-ui-1.8.11.js脚本。您只包含了jquery-1.6.2.min.js,这是必需的,但还不够。另外,我建议您使用捆绑包将所需的脚本和样式组合并缩小到单个文件中,这样可以减少带宽并缩短页面加载时间:
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/themes/base/css")" rel="stylesheet" type="text/css" />
<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script>
<meta name="viewport" content="width=device-width" />
</head>发布于 2012-06-11 01:16:12
我非常确定Jquery插件没有正确加载
你怎么知道jquery插件没有正确加载?首先,您应该停止通过直接组合引用脚本/样式和使用System.Web.Optimization帮助器(@Scripts、@Styles..)来搞乱事情。
使用其中任何一种方法。我建议您首先使用Url.Content直接加载所需的css和脚本,并查看是否一切正常,如果是,则将它们完全替换为@Scripts和@Styles。
要了解有关捆绑/缩减的更多信息,请参阅此链接
http://ofps.oreilly.com/titles/9781449320317/ch_ClientOptimization.html#_putting_asp_net_mvc_to_work
https://stackoverflow.com/questions/10970513
复制相似问题