我正在为我的用户制作一份注册表格,我希望他们在他们的城市写作。
因此,当他们输入城市名称时,jQuery UI component的自动完成选项会异步加载。
页面上的示例显示了如何使用.php文件,但这如何适用于纯HTTP解决方案?
如何获取这些选项?
我有一个使用Entity Framework和存储库模式访问的简单表:
table City
------------------
CityId int primary key,
Name nvarchar(256)
答案 0 :(得分:7)
自动完成插件将使用?term=blah
查询字符串参数向您指定的路径发送GET请求。
您需要向控制器添加一个Action来处理此请求,并将匹配值的数组作为json返回。
public ActionResult AutoCompleteCity(string term) {
var db = new myEFDataContext();
return Json(db.Cities.Where(city => city.Name.StartsWith(term)).Select(city => city.Name), JsonRequestBehavior.AllowGet);
}
然后在你的javascript中你连接了自动完成功能。
$('#cityTextBoxId').autocomplete({ source: '/Controller/AutoCompleteCity' });