我有一个控制器定义为
var searchController = function ($scope, $http) {
$scope.modSelectedState = null;
$scope.states = [];
$http.get('./data/states.js')
.success(function (data) {
$scope.states = data.locations;
})
}
现在它的工作是填充我从本地文件中成功使用的状态列表。
然后,我的HTML文件中包含此代码:
<select ng-model="modSelectedState" id="selectState" name="selectState"
ng-options="state as state.name for state in states">
<option value="">Select state...</option>
</select>
我无法上班。 我知道我的控制器已正确定义并且数组已成功填充,因为我尝试了以下代码并且工作正常:
<ul ng-repeat="state in states">
<li>{{state.name}}</li>
</ul>
我将此代码放在同一控制器范围内的选项代码之前。
我的数组中的JSON对象如下所示:
{
"lat": 35.02499,
"long": -84.92153,
"name": "Alabama",
"short": "AL"
}
无法弄清楚它为什么不起作用..
答案 0 :(得分:2)
而不是
ng-options="state as state.name for state in states"
试
ng-options="state.name for state in states"
关于modSelectedState
,请尝试以下操作:
...
.success(function (data) {
$scope.states = data.locations;
$scope.modSelectedState = $scope.states[1]; // 1 is just an arbitrary element
'''