我是AngularJS的初学者,在设置Select的ng-model的选定值时遇到问题。
这是我的数据结构:
[{"ID":0,"Name":"G"},{"ID":1,"Name":"PG"}]
这是我的HTML:
<div class="col-md-8" ng-init="GetAllRatings()">
<select ng-model="InputMovieRating" ng-options="rating.Name for rating in ratings"></select>
</div>
我想这样做:
$scope.InputMovieRating = 'PG';
但是它不起作用。我发现有效的方法是遍历所有评分,例如:
var selectedRating = $scope.ratings[0]; //default
for (var i = 0; i < $scope.ratings.length; i++)
{
if($scope.ratings[i].Name == 'PG')
{
selectedRating = $scope.ratings[i];
}
}
$scope.InputMovieRating = selectedRating;
这是可行的,但我认为这可能是一种错误的方式,而我在绑定ng-options时做错了事。
答案 0 :(得分:1)
尝试以下
<div class="col-md-8" ng-init="GetAllRatings()">
<select ng-model="InputMovieRating" ng-options="rating.Name as rating.Name for rating in ratings"></select>
</div>
如果您具有异步数据加载功能,请设置模型的值
$scope.InputMovieRating = "PG";
数据加载完成后。
答案 1 :(得分:0)
可能错过了将对象分配给属性的情况 添加的只是一个值(PG)
$ scope.InputMovieRating = {“ ID”:1,“名称”:“ PG”}