我只想在" value"中的JSON文件中搜索,但是我只能到达前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 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"
]
}]
这也是JSFIDDLE示例。
有可能使它起作用?
您正在使用错误的URL搜索。来自http://twitter.github.io/typeahead.js/examples/
remote: {
url: '../data/films/queries/%QUERY.json',
wildcard: '%QUERY'
}
更改
url: search_url + '?%QUERY.json',
to
url: 'https://twitter.github.io/typeahead.js/data/films/queries/%QUERY.json'