【发布时间】:2015-07-05 23:45:56
【问题描述】:
- 我正在学习的教程
您好,我正在使用本教程实现 jquery 自动完成功能 ASP.NET 教程第 76 部分在 mvc 中实现自动完成文本框功能 https://www.youtube.com/watch?v=MmBdMZJ3Jlo
- 问题
当我在输入框中输入内容时,自动完成不起作用
- 说明
我已经实现了搜索功能并且它工作正常,但是我被 jquery 的自动完成功能困住了。我在谷歌上搜索了很多和堆栈溢出以前的问题,我尝试了一切但无法解决我的问题。
- 代码
这是我的自动完成代码(我没有包含搜索代码)
Index.cshtml
<link href="~/Content/jquery-ui.css" rel="stylesheet" type="text/css" />
<link href="~/Content/jquery-ui.min.css" rel="stylesheet" type="text/css" />
<script src="~/Scripts/jquery-2.1.4.js" type="text/javascript"></script>
<script src="~/Scripts/jquery-ui.js" type="text/javascript"></script>
<script src="~/Scripts/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#txtSearch").autocomplete({
source: '@Url.Action("GetAirports")'
});
});
</script>
@using(@Html.BeginForm())
{
<br />
<b>AirPort Code:</b>
@Html.TextBox("SearchTerm", null, new { id="txtSearch"})
<input type="submit" value="Search" />
}
和我的控制器代码
HomeController.cs
public JsonResult GetAirports(string term)
{
traveloticketEntities db = new traveloticketEntities();
List<String> Airports = new List<String>();
Airports = db.IataAirportCodes.Where(x => x.code.StartsWith(term)).Select(y=>y.code).ToList();
return Json(Airports, JsonRequestBehavior.AllowGet);
}
【问题讨论】:
-
您检查客户端控制台是否有错误?
-
@mason 抱歉,但我不知道什么是客户端控制台。但是我尝试手动调试它,我认为当我在文本框中输入内容时不会调用自动完成功能。
-
使用浏览器的开发工具(通常是键盘上的 F12)。查找控制台或 JavaScript 选项卡。在那里寻找任何错误。
-
@Junaid 你确定你的页面正确引用了 jQuery 库吗?
-
您同时引用了
jquery-ui.js和jquery-ui.min.j。不要那样做。在开发过程中引用未缩小的,在生产中引用缩小的。
标签: c# jquery asp.net asp.net-mvc