ng-options中的选定元素与数组

时间:2015-03-06 00:10:46

标签: angularjs

我在设置下拉列表中选择的默认项目时遇到问题。 我有以下标记:

<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。 谢谢。

1 个答案:

答案 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>