javascript - 使用 angularjs 从下拉列表中删除重复项

标签 javascript angularjs

我正在处理数据库中的动态下拉列表,我想从行中删除重复项,这样列表中就不会出现多个值。我试图放入下拉列表中的字段是“地区”

JS

.controller('send_msg_district_ctrl',function($scope,$http,$location){

        $http.post('http://localhost:8080/Admin/calls/app_users.php').success(function(data){
        $scope.district=data;
        console.log(JSON.stringify(data));
            })
        })

.filter("removeDups", function(){
  return function(data) {
    if(angular.isArray(data)) {
      var result = [];
      var key = {};
      for(var i=0; i<data.length; i++) {
        var val = data[i];
        if(angular.isUndefined(key[val])) {
          key[val] = val;
          result.push(val);
        }
      }
      if(result.length > 0) {
        return result;
      }
    }
    return data;
  }
})

HTML

<select ng-model="item.District" ng-options="option for option in district | removeDups">
    <option value="" disabled>
        Please select an option
    </option>
</select>

当我点击下拉菜单时,我得到[object object]

最佳答案

如果district是一个对象数组,则必须以其他方式使用ng-options。 您会在下拉列表中看到 [object object],因为您是这样设置的。

我很确定你的对象有标题值或类似的东西? 在这种情况下你必须使用:

<select ng-model="item.District" ng-options="option as option.title for option in district | removeDups">
    [...]
</select>

关于javascript - 使用 angularjs 从下拉列表中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45014529/

相关文章:

ios - Angularjs 1.0.3 嵌套在 ng-repeat 中的选择列表显示在 iOS 上选择的错误项目

javascript - jQuery - 将函数应用于具有相同类名的多个选择元素

angularjs - 如何手动编译模板两次或多次

javascript - 在 AngularJS 指令模板的开头添加注释

javascript - 如何在 Angular 中制作交互式 Google 图表(UI 事件)?

css - 将 ng-repeat 值分配给样式属性

javascript - 在 angular-ui 选项卡内渲染 nvd3-line-chart

php - 数据库支持的输入字段的代理过滤器值

javascript - 删除 WinJS ListView 中所有项目的最快方法是什么?

javascript - 如何将焦点设置到 tag-it 小部件?