2013-09-01 27 views
3

typeahead.js有prefetch选项用于在需要之前获取基准面。有没有办法在打开下拉菜单之前过滤typeahead.js选项?

$('input').typeahead({ 
    "prefetch": "/selections_url" 
}); 

我想根据文档中的某些信息过滤选择。当使用filter选项时,prefetch也可以过滤初始基准。但是这只能过滤最初的抓取。我需要的确实是prefetch,但是有一个钩子可以在显示之前过滤出一些数据。

typeahead.js有这个事件typeahead:opened但这并没有参数(不能处理基准)和基准在下拉列表中(所以我不能写一段代码,以消除一些渲染基准)

呈现前触发

任何方式来做到这一点?

PS:我还在typeahead.js项目中添加了这个issue

回答

2

我想你可以使用remote(做一个AJAX调用),并将你的文档数据传递给服务器端,并让服务器端填充。

一个黑客立即暗示:

  1. 使用prefetch,并在其filter商店的数据参考。 filter()本身返回一个空集。

  2. 有一个空的远程URL(或指向一个什么也不做端点的URL),并在filter,读你存储在prefetchfilter无论你想与您的文档中的数据,执行数据,并返回其中的任何子集。

相关问题