【发布时间】:2011-03-21 07:25:33
【问题描述】:
我正在使用基于 Jquery 的自动完成模块。我对它的功能有点怀疑。我的自动完成数据在本地 JavaScript 变量中可用。自动完成工作正常,但每当我更新这个本地 javascript 变量时,它仍然使用旧数据。该模块是否缓存数据?我们该如何解决这个问题。
【问题讨论】:
标签: javascript jquery jquery-plugins autocomplete
我正在使用基于 Jquery 的自动完成模块。我对它的功能有点怀疑。我的自动完成数据在本地 JavaScript 变量中可用。自动完成工作正常,但每当我更新这个本地 javascript 变量时,它仍然使用旧数据。该模块是否缓存数据?我们该如何解决这个问题。
【问题讨论】:
标签: javascript jquery jquery-plugins autocomplete
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:
【讨论】:
您的浏览器可能正在缓存 JS 文件。 Ctrl f5 强制清理浏览器缓存。
【讨论】:
试试像:$('input#necessary_input').flushCache();。
已更新(根据下面的 cmets):
好的。如何简单地重新创建自动完成(首先删除它,然后使用autocomplete 函数和新数据创建)?
【讨论】: