我在 jquery mobile 中遇到自动完成问题。我想创建一个文本输入,当用户在其中输入时,与用户输入的内容相对应的城市会显示在下拉菜单中,类似于 Google 搜索的工作方式。
我的问题是,它不是下拉菜单,而是创建所有城市的项目符号列表。我实现了 CSS 主题并启用了所有必要的 jquery/jquery 移动 ui 脚本。
在观看 MVC 上的 MVC 复数教程后,我能够连接到城市名称数据库并创建以下代码(这些只是片段):
看法
<p>Hotel Location (City): <input type="text" data-autocomplete="@Url.Action("QuickSearch", "Booking")"/></p>
Javascript/Jquery
$(document).ready(function () {
$(":input[data-autocomplete]").each(function () {
$(this).autocomplete({ source: $(this).attr("data-autocomplete") });
});
});
控制器
public ActionResult QuickSearch(string term)
{
testautocompleteDataContext _db = new testautocompleteDataContext();
var cities = _db.CityTests
.Where(r => r.city.Contains(term))
.Take(10)
.Select(r => new { label = r.city });
return Json(cities, JsonRequestBehavior.AllowGet);
}
谢谢!我非常感谢您的帮助:)