Jquery自动完成功能会记住以前的选择

时间:2015-06-12 21:05:37

标签: javascript jquery autocomplete

要求是根据所选区域显示自动完成地址。每次区域更改时都会调用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

3 个答案:

答案 0 :(得分:0)

如果您在jquery的自动填充列表旁边显示其他内容,则可能是您的浏览器尝试自动填充输入时出现问题。 尝试将autocomplete="off"属性添加到您自动填充的输入字段

答案 1 :(得分:0)

正如本answer中所述,问题可能与您的代码段无关,但通常与浏览器http缓存有关。

答案 2 :(得分:0)

嗯,以下对我来说就像一个魅力

var ac = $("#address").autocomplete();

下次更改地区,而不是拨打autocomplete()  再一次,我就是这样做的 -

   ac.setOptions({ params:{ region : selectedRegion}});

这会使用新区域更新现有呼叫。我将不再查看以前选择的自动填充建议。