在角度下拉菜單中顯示選定值時遇到問題。 它工作時,我給這樣的AngularJS下拉菜單不顯示選定的值
$scope.selectedItem = $scope.items[1];
不工作,如果我直接給該值
$scope.selectedItem = { name: 'two', age: 27 };
HTML:
<html ng-app="app">
<body>
<div ng-controller="Test">
<select ng-model="selectedItem" ng-options="item.name for item in items">
</select>
</div>
</body>
</html>
JS:
var app = angular.module('app',[]);
app.controller('Test',function($scope){
$scope.items = [{name: 'one', age: 30 },{ name: 'two', age: 27 },{ name: 'three', age: 50 }];
$scope.selectedItem = $scope.items[1];
});
CODEPEN: http://codepen.io/anon/pen/zxXpmR
SOLUTION:
謝謝薩米爾-DAS。我根據你的建議進行了修正。
var choosen_value = { name: 'two', age: 27 };
angular.forEach($scope.items, function(item){
if(angular.equals(choosen_value, item)){
$scope.selectedItem = item;
}
});
你有什麼辦法解決這一問題? – 2015-04-02 07:52:43
你將不得不使用同一個對象。您可以首先搜索您想要開始的項目,然後分配找到的項目 – Samir 2015-04-02 08:04:01