3

typeahead.js 具有在prefetch需要之前获取数据的选项。

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

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

typeahead.js 有这个事件typeahead:opened,但它没有参数(无法处理基准),并且在基准在下拉列表中呈现之前被触发(所以我不能编写一段代码来删除一些呈现的基准)

有什么办法可以做到这一点?

PS:我也在 typeahead.js 项目中添加了这个问题

4

1 回答 1

2

我想您可以使用remote(进行 AJAX 调用)并将您的文档数据传递到服务器端,并让服务器端填充。

黑客立即暗示:

  1. 使用prefetch, 并在其filter存储中对数据的引用。让filter()自身返回一个空集。

  2. 有一个空的远程 URL(或指向不执行任何操作的端点的 URL),并在其中 filter读取存储在prefetch's中的filter数据,对文档数据执行任何操作,并返回其中的任何子集。

于 2013-09-01T20:40:48.933 回答