我想在我的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示例。
可以让它运作吗?
答案 0 :(得分:0)
您正在使用错误的网址进行搜索。来自http://twitter.github.io/typeahead.js/examples/
remote: {
url: '../data/films/queries/%QUERY.json',
wildcard: '%QUERY'
}
变化
url: search_url + '?%QUERY.json',
到
url: 'https://twitter.github.io/typeahead.js/data/films/queries/%QUERY.json'