如何填写下拉菜单

时间:2014-09-23 17:49:22

标签: angularjs twitter-bootstrap google-app-engine

我正在使用bootstrap和angularjs作为用户界面,google appengine使用java作为后端。 刚才我在填写下拉菜单时遇到问题,我看到一个空列表,所以我怀疑问题出在html代码中。

前端:

<div class="dropdown" >
    <select id="mySelPartido" class="form-control">
        <option ng-repeat="partido in data.locations.partidos"
            ng-selected="partido.selected" ng-model="partido.partido">{{partido.partido}}</option>
    </select>
</div>

角度代码中的js(我调试此代码并且它可以工作!):<​​/ p>

$scope.status = 'loading...';
    $scope.partido = "Select partidos";
    $scope.data = {
        "locations": {}
    };

$http.get('https://myservice.appspot.com/_ah/api/partidoendpoint/v1/partido')
    .then(function (res) {
                        $scope.data.locations.partidos = res.data.items;
                        $scope.status = "loaded "
                                + $scope.data.locations.partidos.length
                                + " partidos.";
                    });

来自应用引擎后端的服务响应:

{
 "items": [
  {
   "id": {
    "kind": "Partido",
    "appId": "s~myservice",
    "id": "5066549580791808",
    "parent": {
     "kind": "Provincia",
     "appId": "s~myservice",
     "id": "5086253011697664",
     "complete": true
    },
    "complete": true
   },
   "name": "Florencio Varela",
   "kind": "partidoendpoint#resourcesItem"
  },
  {
   "id": {
    "kind": "Partido",
    "appId": "s~myservice",
    "id": "5094432508477440",
    "parent": {
     "kind": "Provincia",
     "appId": "s~myservice",
     "id": "5086253011697664",
     "complete": true
    },
    "complete": true
   },
   "name": "La Matanza",
   "kind": "partidoendpoint#resourcesItem"
  }
 ],
 "kind": "partidoendpoint#resources",
 "etag": "\"PQS12KaO4-dKVfv_BcCoEkbIN9g/GvZKzZUnrHEP8TKWybTkd_fJbnc\""
}

1 个答案:

答案 0 :(得分:1)

检查角度documentation for select

也许尝试使用ngOptions元素中的select指令。示例:

&#13;
&#13;
function demo($scope) {
  $scope.items = [
    { name: 'foo' },
    { name: 'bar' },
    { name: 'baz' }
  ];
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app ng-controller="demo">
  
  <select ng-options="item.name for item in items"
          ng-model="selected">
  </select>
  
  <p>You have selected : {{ selected }}
  
</div>
&#13;
&#13;
&#13;