我正在使用最新的jQuery ui auto complete(根据js文件的版本:jQuery UI Autocomplete 1.8.13)。我已经成功部署了静态自动完成,类似于:(版本1)
$( "#Vendors" ).autocomplete({
source: [{ "id": "3", "value": "Ven 03" }, { "id": "1", "value": "Ven 01" }, { "id": "2", "value": "Ven 02"}]
});
但是当我在C#MVC2 web web-app中使用远程文件动态地执行相同操作时,问题就开始了。这是代码:(版本2)
$( "#Vendors" ).autocomplete({ source: "/common/lookup?id=vendor" })
版本2获取数据并且我已经验证了JSON生成与版本1示例中提到的相同。但是当我开始在文本框中输入时 - 不会像在版本1中那样执行自动搜索。
简而言之,在用户类型中过滤项目在url版本中不可用。这是否意味着我每次都要查询我的数据并在服务器端执行过滤?数据是否已缓存?
请帮助,我大约一天就坚持这个!
编辑1:我已经确定了事实 它不会缓存搜索和 它会去服务器搜索每个 新学期。
编辑2:对MVC有用的东西 - MVC jQuery ui auto-complete的扩展:
http://www.codevoyeur.com/Articles/10/ASP.NET-MVC-HtmlHelper-Extensions-for-jQuery-AutoComplete.aspx
答案 0 :(得分:1)
使用它:
$( "#Vendors" ).autocomplete({ source: "/common/lookup" })
搜索变量:term而不是id,
ajax查询看起来像:http://localhost/common/lookup?term=search_string