jquery ui autocomplete在使用返回JSON的远程url时不搜索

时间:2011-06-15 15:47:55

标签: jquery json jquery-ui url autocomplete

我正在使用最新的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

1 个答案:

答案 0 :(得分:1)

使用它:

$( "#Vendors" ).autocomplete({ source: "/common/lookup" })

搜索变量:term而不是id,
 ajax查询看起来像:http://localhost/common/lookup?term=search_string