在用户输入输入后,我可以使用下面的代码获取所有Twitter Typeahead建议,并且可以调用typeahead:render。我想一直隐藏下拉列表并仅在数组中获取建议。有没有办法实现这一点,因为typeahead:render可能需要打开下拉列表。
var bloodhoundData = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: localData
});
$('filter .typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
source: bloodhoundData,
limit: 99999
}).on('typeahead:render', getSuggestions);
function getSuggestions() {
var suggestions = Array.prototype.slice.call(arguments, 1);
}
答案 0 :(得分:0)
由于Bloodhound.js是一个独立的库,因此您不必使用typeahead。您可以将bloodhound的输入绑定到普通文本输入并检查get方法的结果。
这样的事情可能有用,q
是来自输入的文本(借用NFL团队的例子):
var myBloodhound = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
identify: function(obj) { return obj.name; },
local: localData
});
function getMyData(q, sync) {
myBloodhound.search(q, sync);
}