我有以下问题。我曾经有一个自动完成的输入,我刚刚从现场删除了它(因为它不再是necassery)。
该字段现在是:<input type="text" class="required text motivationname valid" maxlength="30" onblur="isDoubleMotivation(this.value);" value="" id="title" name="title">
没什么特别的权利?
我还有另一个自动完成字段,其中包含有关城市的信息。
var elements = $('input.auto_plaatsnaam');
elements.each(function() {
$(this).autocomplete( {
dataType: "json",
source: "/common/ajax/citysearch.php",
minLength: 1,
cache: false,
delay: 100
});
});
问题如下:一些用户在第一个(标题)输入字段上获得自动完成。我认为这是一个缓存问题,因为删除缓存可以解决问题。在加载字段之前,我可以强制使用php或js刷新缓存吗?删除所有缓存对网站并不是真正有益,所以我希望我可以删除这些字段的缓存。
答案 0 :(得分:1)
似乎更新了更新版本的jquery ui解决了这个问题。谢谢大家!
答案 1 :(得分:0)
一个强大的解决方案是在查询网址中添加一个参数,其中包含时间戳。
示例(未实际测试):
var elements = $('input.auto_plaatsnaam');
elements.each(function() {
$(this).autocomplete( {
dataType: "json",
source: function() { return "/common/ajax/citysearch.php?t="+new Date().getTime()},
minLength: 1,
cache: false,
delay: 100
});
});
这样,AJAX调用的url总是不同,因此浏览器不会进行缓存。
答案 2 :(得分:0)
假设您将js保存在文件'myjs.js'中,您可以修改相应的脚本标记到
<script src="/path/to/myjs.js?version=0.01"></script>