关于angularjs:使用Angular.JS将selected =” selected”添加到选项字段

Adding selected=“selected” to an option field with Angular.JS

我有一个范围对象,其中包含可通过下拉菜单选择的可能的评级:

1
$scope.ratings = [{ id: 1, name:"Good", value: 9}, { id: 2, name:"Bad", value: 1 }];

我评级的对象如下所示:

1
2
3
4
5
6
7
8
9
10
$scope.obj = [
     {
         id:"fff",
         rating: {
             id: 1,
             name:"Good",
             value: 9
     }

];

这是我的标记:

1
2
3
4
5
6
7
{{ obj.rating.name }}

<select ng-show="rating"
        ng-change="rate(obj); rating=false;"
        ng-model="obj.rating"
        ng-options="rating.name for rating in ratings">
</select>

我的问题是,最初呈现下拉列表时,未选择任何值。在下拉列表中选择一个值后,该值会保留下来。如果再次可见,它会显示在以及下拉列表中。

如何预先选择obj.rating中最初的值?它在中正确显示,但在下拉列表中没有正确显示。


我刚刚在引用的线程中找到了解决方案:

ng-options="rating.name for rating in ratings track by rating.id">