我想在这里完成的是当用户进入应用程序时,selectedLocal已经设置为ID 184并命名为Name而不是默认名称。
感谢任何帮助。
我有以下脚本:
function MyCtrl($scope) {
$scope.User = [{
ID: 109,
Name: 'A Name'
}, {
ID: 161,
Name: 'B Name'
}, {
ID: 184,
Name: 'C Name'
}];
$scope.selectedLocal = [{ID: 184,Name: 'A Name'}]
}
以及以下html:
<div ng-app ng-controller="MyCtrl">
<div>{{selectedLocal}}</div>
<select ng-model="selectedLocal" ng-options="item.Name for item in User" ng-change="localSelectChange()">
<option value="">Default</option>
</select>
</div>
这里是js小提琴LINK
感谢
答案 0 :(得分:3)
您必须了解ng-options
通过引用将选项值与ng-model
值进行比较。这意味着在某些时候有一个
比较$scope.User[i] === $scope.selectedLocal
的循环,其中i
是介于0和$scope.User.length
之间的值。
因此,您需要使用$scope.selectedLocal
的引用初始化$scope.User
。
在您的情况下,$scope.selectedLocal = $scope.User[2];
。
或者你可以这样做:
ng-options="item.ID as item.Name for item in User"
和
$scope.selectedLocal = 184;
根据具体情况,一种解决方案可能优先于另一种解决方案。