添加的项目不显示在前面键入

Added items don't appear in typeahead

本文关键字:在前面 显示 项目 添加      更新时间:2023-09-26
// 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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',
            '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的提前预取来填充字段。它正在工作,但是当我向JSON文件添加新项时,它没有出现在预输入列表中。我尝试清空缓存并重新启动浏览器。有人有别的想法吗?

我已经解决了我自己的问题…

只需将cache = false添加到这样的预取。

 prefetch: {
      url: 'json/receiver-company.json',
      cache: false
 }

这是我找到它的地方