AngularJS-在ng-repeat内的select上设置默认值[重复]

我遇到了AngularJS的问题-无法在中显示选定的值<select>

这是我的用例:

我有一个以ng-repeat开头的视图,用于显示组件。每个组件都包含一个选择以选择增值税率。创建新项目时,看起来不错。但是,当我编辑现有项目时,实际的vatRate代码未显示在select中,而是看到默认选项“-SelectVAT Rate-”而不是所选的VAT。

我的模型仅包含增值税率的ID。

通过一个组件,我可以在$scope中使用一个变量来设置当前商品的价值,但是在这里,我可以拥有多个组件,每个组件都有自己的增值税率,因此,我不确定在这里如何做:

这是我的代码

<div ng-repeat="i in items">

<label>{{i.id}}</label>

<input ng-model="i.title">

<select ng-model="i.vatRateId">

<option value="">--- Select an option ---</option>

<option ng-repeat="value in vatRates"

ng-selected="i.vatRateId == value.id"

value="{{value.id}}">{{value.value}}

</option>

</select>

</div>

和对象:

$scope.vatRates = [

{ 'id': 1, 'value' : '20' },

{ 'id': 2, 'value' : '10' },

{ 'id': 3, 'value' : '7' }

];

$scope.items = [

{ 'id': 1, 'title' : 'Title1', 'vatRateId' : '1' },

{ 'id': 2, 'title' : 'Title2', 'vatRateId' : '2' },

{ 'id': 3, 'title' : 'Title3', 'vatRateId' : '3' }

];

这是一个现场演示来解释我的问题:

我无法为每个项目设置正确的值。

回答:

我对您的要求不是很清楚,但是如果要将默认选择值显示为<select>,可以使用 。为了使用,你需要有

在您的控制器作为 到您<select>,并添加NG-选择将<options ng-selected="{{defaultvalue ==

value.id}}" ng-repeat="value in vatRates">

对于代码和参考,我只是更改了您的插件,

http://embed.plnkr.co/ZXo8n0jE8r3LsgdhR0QP/preview

希望这可以帮助。

以上是 AngularJS-在ng-repeat内的select上设置默认值[重复] 的全部内容, 来源链接: utcz.com/qa/416505.html

回到顶部