要求是根据所选区域显示自动完成地址。每次区域更改时都会调用Jquery自动完成。我根据地区获得了正确的自动完成地址。但是,除了新的地址列表,我还获得了以前选择的地区的地址列表 为了解决这个问题,我使用了 - $(" #address).removeData(' events')。autocomplete(...)
这解决了这个问题。但是现在引入了一个新问题!自动完成列表中的滚动无法正常工作,按下箭头键/向上箭头键会跳过项目。
以下是代码段:
$("#address).removeData('events').autocomplete({
serviceUrl : 'mysource',
minChars : 2,
params : {
region : selectedRegion
},
noCache : true,
width : 350,
maxHeight : 170,
onSelect : function (value) {
...
...
}
});
有人可以建议我采用正确的方法吗?我正在使用jquey.autocomplete-min.js
答案 0 :(得分:0)
如果您在jquery的自动填充列表旁边显示其他内容,则可能是您的浏览器尝试自动填充输入时出现问题。
尝试将autocomplete="off"
属性添加到您自动填充的输入字段
答案 1 :(得分:0)
正如本answer中所述,问题可能与您的代码段无关,但通常与浏览器http缓存有关。
答案 2 :(得分:0)
嗯,以下对我来说就像一个魅力
var ac = $("#address").autocomplete();
下次更改地区,而不是拨打autocomplete()
再一次,我就是这样做的 -
ac.setOptions({ params:{ region : selectedRegion}});
这会使用新区域更新现有呼叫。我将不再查看以前选择的自动填充建议。