我有一个问题,Twitter typeAhead返回空白结果,而官方文档也无济于事。
我期望什么?
<div class="tt-suggestion tt-selectable">Warcraft II: Tides of Darkness</div>
...
正在发生的事情:
在输入字段中键入内容时,typeAhead会返回空的html,就像这样,列表确实会根据获取的结果数量进行填充,因此它可以正常工作
<div class="tt-suggestion tt-selectable"></div>
<div class="tt-suggestion tt-selectable"></div>
<div class="tt-suggestion tt-selectable"></div>
<div class="tt-suggestion tt-selectable"></div>
<div class="tt-suggestion tt-selectable"></div>
我的代码:
var gameTitles= new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '../api/autocomplete/%QUERY',
wildcard: '%QUERY'
}
});
$('#title').typeahead({minLength: 3}, {
name: 'game-titles',
display: 'value',
source: gameTitles
});
作为参考,遥控器返回以下内容,因此我知道我的查询可以正确传递
[
"Warcraft II: Tides of Darkness",
"Warcraft II: Beyond the Dark Portal",
"Warcraft III: Reign of Chaos",
"Warcraft II: The Dark Saga",
"Peggle: World of Warcraft Edition",
"Warcraft III: Reforged Spoils of War Edition",
"World of Warcraft",
"Warcraft III: Reforged",
"Warcraft: Orcs & Humans",
"World of Warcraft: Legion"
]
答案 0 :(得分:0)
Typeahead在数组中查找对象,默认情况下建议在这些对象中查找value
,这可以通过将您希望使用的属性名称分配给{{1}来更改}属性
display
此外,不再维护typeAhead,selectize.js似乎是一个很好的选择