我是 Angularjs 的新手,我在 ng-repeat 中的第一个选择中有一些问题需要阻止更改。 我想检测更改以使用控制器中的函数更新第二个选择。
<tr ng-repeat="detailDemande in vm.demande.details track by $index">
<td><select id="field_type" name="type" ng-model="detailDemande.type" ng-options="typeMateriel as typeMateriel.nom for typeMateriel in vm.types | orderBy:'nom' track by typeMateriel.id" >
</select></td>
<td><select id="field_article" name="article" ng-model="detailDemande.article" ng-options="article as article.nom for article in vm.articles | orderBy:'nom' track by article.id">
<option value=""></option>
</select></td>
</tr>
请帮忙谢谢
假设这是您的第一个选择(我只是为了空间而削减了ng选项(:
<select id="field_type" name="type"
ng-options="typeMateriel in vm.types"
ng-model="vm.detailDemande.type" ng-change="vm.changeSelect()" />
那么这是您的第二个选择:
<select id="field_article" name="article"
ng-options="article in vm.articles"
ng-model="vm.detailDemande.article" />
在第一个选择的 html 中,有 ng-change 属性,指向控制器中的一个方法。您可以使用它来更改 vm.articles 中显示的内容:
changeSelect() {
if (detailDemande.type === 'foo') {
this.articles = ['new', 'list'];
}
}