我想设置第一个选中的元素。我使用ng-init但不起作用。我怎么解决?
HTML
<select id="room" name="room" ng-init="rooms.id=1" ng-model="searchRoom" class="custom-select">
<option value="{{rooms.id}}" ng-repeat="rooms in searchRoomValues track by $index">{{rooms.value}}</option>
</select>
的js
$scope.searchRoomValues=[{value: 'Not', id:1},{value: '1+0', id:1648}, {value: '1+1', id:1649}, {value: '2+1', id:1650}, {value: '3+1', id:1651}, {value: '4+1', id:1652}, {value: '5+1', id:1653}];
答案 0 :(得分:4)
使用ng-options
:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.searchRoomValues = [{
value: 'Not',
id: 1
}, {
value: '1+0',
id: 1648
}, {
value: '1+1',
id: 1649
}, {
value: '2+1',
id: 1650
}, {
value: '3+1',
id: 1651
}, {
value: '4+1',
id: 1652
}, {
value: '5+1',
id: 1653
}];
$scope.selected = $scope.searchRoomValues[0];
});
&#13;
<body ng-controller="MainCtrl">
<select ng-model="selected" ng-options="item as item.value for item in searchRoomValues"></select>
</body>
&#13;
答案 1 :(得分:2)
您必须在控制器中初始$scope.searchRoom
$scope.searchRoom=1
或在ng-init中:
<select id="room" name="room" ng-init="searchRoom=1" ng-model="searchRoom" class="custom-select">
<option ng-value="{{rooms.id}}" ng-repeat="rooms in searchRoomValues track by $index">{{rooms.value}}</option>
</select>