Javascript Typeahead.js只提供前5个结果?
我只想在json文件的“value”字段中搜索,但我只得到前5个结果。无论键入什么,每次都会得到相同的结果 我的代码是:Javascript Typeahead.js只提供前5个结果?,javascript,jquery,json,typeahead.js,bloodhound,Javascript,Jquery,Json,Typeahead.js,Bloodhound,我只想在json文件的“value”字段中搜索,但我只得到前5个结果。无论键入什么,每次都会得到相同的结果 我的代码是: $(function() { var search_url = 'https://twitter.github.io/typeahead.js/data/films/post_1960.json'; var search_input = $("#prefetch input.typeahead"); var search = new B
$(function() {
var search_url = 'https://twitter.github.io/typeahead.js/data/films/post_1960.json';
var search_input = $("#prefetch input.typeahead");
var search = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: search_url,
remote: {
url: search_url + '?%QUERY.json',
wildcard: '%QUERY'
}
});
$('#prefetch .typeahead').typeahead(null, {
name: 'search',
display: 'value',
displayKey: 'value',
source: search.ttAdapter()
});
});
JSON结构:
[{
"year": "1961",
"value": "West Side Story",
"tokens": [
"West",
"Side",
"Story"
]
},
{
"year": "1962",
"value": "Lawrence of Arabia",
"tokens": [
"Lawrence",
"of",
"Arabia"
]
},
{
"year": "1963",
"value": "Tom Jones",
"tokens": [
"Tom",
"Jones"
]
}]
这里也是一个例子
有可能让它工作吗?您正在使用错误的url进行搜索。从 改变
url: search_url + '?%QUERY.json',
到
看起来typeahead.js预取方法示例工作得不太好。例如,在本页中搜索随机单词“tom”时,会有一个404状态的响应。它在你的页面上也不会很好地工作,但你应该会得到一些结果。在我的提琴中,我得到了一个建议“tom jones”。顺便说一句,在你的提琴中,你在url后面漏掉了一个逗号,你得到了一个例外:“未捕获的语法错误:意外标识符”。。尝试这样定义远程:远程:{url:'',通配符:'%QUERY'}我很高兴能帮上忙。再次检查小提琴。我添加了一个使用github的公共api的工作示例。它使用transform:function(test){return test.items;}为显示准备响应,并显示存储库的全名
url: search_url + '?%QUERY.json',
url: 'https://twitter.github.io/typeahead.js/data/films/queries/%QUERY.json'