我在设置下拉列表中选择的默认项目时遇到问题。 我有以下标记:
<select(ng-model="myModel" ng-options="item for item in ['zero','one','two']" )></select>
我得到以下结果:
<option value="?" selected="selected"></option>
<option value="0">zero</option>
<option value="1">one</option>
<option value="2">two</option>
我做错了什么?为什么我会得到这个额外选项?如何才能选择正确的选项。 ng模型将具有0,1或2。 谢谢。
答案 0 :(得分:2)
您可以获得额外选项,因为您尚未为选择框设置默认选定值。 工作示例:
var app = angular.module("app", []);
app.controller("myCtrl", function($scope){
$scope.myModel = "one";
$scope.values = ['zero','one','two'];
$scope.selectIndex = 2;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="app">
<div ng-controller="myCtrl">
<select ng-model="myModel" ng-options="item for item in ['zero','one','two']"></select>
<span>Selected value: {{myModel}}</span>
<br/><br/>
<select ng-model="selectIndex" ng-options="values.indexOf(item) as item for item in ['zero','one','two']">
<option>Choose</option>
</select>
<span>Selected index: {{selectIndex}}</span>
</div>
</body>