即使我使用ui.unique,我的datalist也会不断显示重复值

时间:2014-12-09 14:40:10

标签: angularjs html5 unique

我目前正在尝试使用数据库中的值填充数据列表。我能够很好地访问数据库并填充数据表,但值不会重复。在我使用静态数组进行测试之前,ui.unique运行得很好但是现在连接到数据库之后,值不会重复值。下面是我用来填充datalist的代码。我不确定为什么会这样。

HTML

<label for="state" class="col-md-2">State: </label>
        <div class="col-md-2">      
            <input list="stateList" class="form-control input-sm" data-ng-model="agentState" style="width:100px;" onchange="agentDistrict =''">
            <datalist id="stateList">
                <option data-ng-repeat="state in stateDistrictList | unique: 'state'" value="{{state.state}}" >
            </datalist>
        </div>

angularjs代码

function getStatesAndDistricts($http, $scope){
$http.get( apiAccess.getStatesAndDistricts() ).
success(function(data, status, headers, config) {
    var results = {};
    for(var i = 0; i < data.length; i++) {
        $scope.stateDistrictList[i] = {state : data[i].state, districts : data[i].district };
    }
  }).
  error(function(data, status, headers, config) {
      alert("SEARCH ERROR: "+status);
  });

}

1 个答案:

答案 0 :(得分:0)

我弄明白了这个问题。错误源于我如何填充数据列表值来自的数组。而不是使用

 "$scope.stateDistrictList[i] = {state : data[i].state, districts : data[i].district };"

填写数组的代码,我需要使用

$scope.stateDistrictList.push({ state: data[i].state, district: data[i].district });

进行此更改后,我的数据专家开始正常工作,而不是显示重复的值。