我正在使用基于Jquery的自动完成模块。我对其功能有一点疑问。我的自动填充数据在本地JavaScript变量中可用。自动完成工作正常,但每当我更新此本地javascript变量时,它仍然使用旧数据。该模块是否缓存数据?我们怎样才能解决这个问题。
答案 0 :(得分:2)
jQuery UI自动完成没有内置缓存,但是它确实为查找值创建了源的内部副本。要更新此内部源,您需要在源参数上调用setter,如下所示:
var source = [
"dog",
"cat"
];
var myAutocomplete = $("#myid").autocomplete({
source: availableTags
});
//Add new items after autocomplete init
source.push("mouse");
//Update the autocomplete with the modified source
myAutocomplete.autocomplete("option", "source", source);
这是一个有效的jsfiddle:
答案 1 :(得分:0)
您的浏览器可能正在缓存JS文件。按Ctrl键强制清理浏览器缓存。
答案 2 :(得分:0)
尝试使用:$('input#necessary_input').flushCache();
。
更新(根据以下评论):
确定。如何简单地重新创建自动完成(首先删除它,然后使用autocomplete
函数和新数据创建)?