获取Twitter Bloodhound Typeahead建议而无需打开下拉列表

时间:2016-03-04 21:32:19

标签: twitter-typeahead bloodhound

在用户输入输入后,我可以使用下面的代码获取所有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);
        }

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);
}

您可以查看bloodhound documentation hereexamples here