2015-09-26 91 views
-2

我有选择列表的选项:如何在选择列表中选择第一个元素Angular JS?

<select ng-model="yr[$index]" ng-selected="year.id == 'I'" ng-options="year.id as year.id for year in years"> 
    </select> 

如何选择列表中选择第一个元素,其中元素是字符串? 我的代码是:

http://plnkr.co/edit/U4Fxh0JSxxtwhJWT9opG?p=preview

+1

在plunkr的代码是从一个张贴在问题完全不同。下定决心。无论如何,由于ng-model包含选定的项目,并且用于双向绑定,因此您只需将'formData.beginYearEnd [$ index]'初始化为第一年的ID。 –

+0

现在是正确的。我更新了问题 – Muhad

+0

不,它不是。 PLUNK有2个选择,并且它们中没有一个是问题中发布的。 –

回答

1

你可以写另一个变量称为currentYear为以下:

$scope.currentYear = $scope.years[0]; 

而您的选择如下:

<select ng-model="currentYear" ng-options="year.id disable when (year.id < yr[$index]) for year in years"> 
</select> 

更新后

要显示的数值,可以加选择,如下:

<select ng-model="currentYear.value" ng-options="year.value as year.value for year in years"> 
</select> 
+0

你可以在这里进行更改吗? http://plnkr.co/edit/U4Fxh0JSxxtwhJWT9opG?p=preview – Muhad

+0

只需在''scope'中添加'currentYear',并将其设置为'ng-model',然后将其绑定,并且运行良好? –

+0

需要设置'$ scope.currentYear = $ scope.years [0] .id;',它可以工作,但是代替'I'我在选择列表中看到'0'。 http://plnkr.co/edit/TTN5JmLbMbtiyShGgcSx?p=preview – Muhad

1

尝试使用:NG-的init = “东西=选项[0]”

You can read about it here

+0

不起作用。我试过:'ng-init =“yr [$ index] = years [0]”' – Muhad

+0

ng-init被明确记录为坏习惯,除了一个用例。将该代码放在它所属的控制器中。 –

+0

同意使用控制器代码,使事情变得更容易。 –

相关问题