// JS script
var company = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'json/receiver-company.json'
});
$('#prefetch .typeahead').typeahead(null, {
name: 'company',
display: 'name',
source: company,
templates: {
empty: [
'<div class="empty-message"> ',
'No results found.',
'</div>'
].join('\n'),
suggestion: function(data){
return '<p><strong>' + data.name + '</strong></p>';
}
}
});
// json/receiver-company.json
[
{"company_id":"1","name":"Company One"},
{"company_id":"2","name":"Company Two"},
{"company_id":"3","name":"Company Three"},
{"company_id":"4","name":"Company Four"}
]
我正在使用Twitter's typeahead prefetch来填充字段。它工作正常,但是当我向JSON文件添加一个新项目时,它没有出现在typeahead列表中。我尝试清除缓存并重新启动浏览器。有没有人有另一个想法?
答案 0 :(得分:0)
我已经解决了自己的问题。 。
只需添加cache = false
就可以预取这样的内容。
prefetch: {
url: 'json/receiver-company.json',
cache: false
}
这是我找到bloodhound
的地方