typeahead.js具有prefetch
选项,可在需要之前获取基准。
$('input').typeahead({
"prefetch": "/selections_url"
});
我想要的是根据文档中的一些信息过滤选择。使用prefetch
选项时,filter
也可以过滤初始基准。但这只会过滤初始提取。我需要的确是prefetch
但是有一个钩子可以在它们显示之前过滤掉一些数据。
typeahead.js有这个事件typeahead:opened
但它没有参数(不能处理基准)并且在下拉列表中呈现基准之前被触发(所以我不能写一段代码来删除一些渲染的基准)
有什么办法吗?
PS:我还在typeahead.js项目中添加了这个issue。
答案 0 :(得分:2)
我想您可以使用remote
(进行AJAX调用)并将文档数据传递到服务器端,并填充服务器端。
立即暗示黑客行为:
使用prefetch
,并在filter
存储对数据的引用。让filter()
本身返回一个空集。
拥有一个空的远程URL(或指向不执行任何操作的端点的URL),并在其 filter
中,读取您存储在{{ 1}} prefetch
,对文档数据执行任何操作,并返回其中的任何子集。