autocomplete数据更换后,查询到的还是老数据

第一次查询数据后(北京),补全的正常,但是再次查询,更新数据后(天津),补全出的还是老数据(北京),只有多触发一次autocomplete,补全才会显示新的数据(天津),求帮忙

每次查回新数据,我都把旧数据(can2)清空了,然后再把新的塞进去,但是补全的还是旧数据,只有再走一次最下面那行,才会补全出新的

        $scope.getZhi = function() {
            $scope.bankCodeZhi = "";
            $('#searchBox2').val("");
            if($scope.city != '0000'){
                var formData1 = {
                        Type:'3',
                        BankCodeZong:$scope.bankCodeZong,
                        ShiCode:$scope.city
                };
                $scope.post2SRV("../WebQueryBigAmountInfo.do", formData1,function(data){
                    $scope.BankListZhi = data.BankListZhi;
                    can2 = new Array();
                    for ( var i = 0; i < data.BankListZhi.length; i++) {
                        var bankNameZhi = data.BankListZhi[i].BANKNAME;
                        can2.push(bankNameZhi);
                    }
                });
            }
        }
        ---------------------------------------
    $('#searchBox2').autocomplete(can2,{minChars:0,matchContains:true,pageType:'1',max:9999});

debug发现,补全时can2是正确的,那问题就在于页面显示的下拉框的值怎么和can2里的不一样-_-||

依据你的描述插件应该是克隆了你的数组或者将数组项已经生成dom对象,查询时并不是直接引用原来的变量值而且查询克隆的数组或者dom对象。所以你更新can2没用

只能执行一次重新构造autocomplete罗。。~

是的呀,每次查询后都在页面最后加了一个div,可恨的是匹配时是从所有的div里匹配……我试着每次查询前删除所有这种div,于是傻眼了……页面上不止一处补全框,想删除的只是一部分,现实就是拆了东墙补西墙