AngularJS - 设置下拉列表的选定值不起作用

Ove*_*ars 8 select selecteditem set angularjs ng-options

我在这里复制了我的问题小提琴:http://jsfiddle.net/U3pVM/2840/

正如标题所示,我无法设置使用ng-options填充的选择的选定值.

我搜索并尝试了所有可能的解决方案.任何帮助或建议将不胜感激!

HTML

<div ng-app>
    <h2>Todo</h2>
    <div ng-controller="TodoCtrl">
        <select ng-model="ddlRooms" ng-options="r.id as r.Name for r in Rooms">
        </select>
        {{$scope.test}}
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

function TodoCtrl($scope) {
    $scope.Rooms = [{ Name: 'Toddler', id: 1 },{ Name: 'other', id: 2 }];
    $scope.options = [{ Name: 'other', id: 2 }];
    $scope.ddlRooms = $scope.options[0];

    $scope.test = 'bla';
}
Run Code Online (Sandbox Code Playgroud)

Alw*_*ner 16

因为你正在做,id as name你需要为模型分配id:

$scope.ddlRooms = $scope.options[0].id;
Run Code Online (Sandbox Code Playgroud)


Wil*_*ler 6

更好的做法:

<select ng-model="ddlRooms.id" ng-options="r.id as r.Name for r in Rooms">
Run Code Online (Sandbox Code Playgroud)