带索引的ng-options默认包含空值

时间:2015-08-05 14:20:31

标签: angularjs ng-options

我尝试使用ng-options(索引为值)来创建默认选中的第一个元素的下拉列表。我尝试在控制器中设置模型,但这没有帮助。

function MyCtrl($scope) {
    $scope.model = 0;
    $scope.years = [2012, 2013, 2014];
}

<div ng-controller="MyCtrl">
  <select ng-model="model" ng-options="idx as year for (idx, year) in years"></select>
    <p ng-bind="model"></p>
</div>

https://jsfiddle.net/kxugpwxk/

我做错了什么?为什么在下拉列表的顶部选择了空白值?

2 个答案:

答案 0 :(得分:0)

您可以在ng-options调用中使用indexOf

<div ng-controller="MyCtrl">
  <select ng-model="model" ng-options="years.indexOf(year) as year for year in years"></select>
  <p ng-bind="model"></p>
</div>

答案 1 :(得分:0)

试试这个:

                      

<select ng-options="idx as year for (idx, year) in years" ng-model="model"  ng-init="model = years[0]"></select>

通常情况下,这可以解决您的问题。