Objectif: obtenir une collection de valeurs basée sur la sélection de la liste déroulante et les placer dans des champs de saisie masqués à inclure dans mon modèle;Valeur non affichée pour le champ de saisie à l'aide de la liaison unidirectionnelle angulaire2
Le html relative:
<select class="selectFoo" (change)="onSelect($event.target.value)" name="FooName" ngModel>
<option selected="selected">--Select--</option>
<option *ngFor="let foo of foos" [value]="foo.ID">{{foo.Name}}
</option>
</select>
<input type="hidden" [value]="fooAddress" name="FooAddress" ngModel/>
Dans le code ci-dessus, j'ai appelé une fonction nommée OnSelect pour obtenir les données sur le foo sélectionné. Les fichiers sont remplis à l'aide d'un appel de service Web. Voici l'extrait de mon fichier ts.
import { Component, OnInit } from '@angular/core';
import { Foo } from './model';
import { DataService } from './data.service';
@Component({
moduleId: module.id,
selector: 'add-on',
templateUrl: './app.component.html'
})
export class AppComponent implements OnInit {
foos : Foo[];
selectedFoo: Foo;
fooAddress: string;
onSelect(fooID){
this.selectedFoo = null;
for(var i = 0; i < this.foos.length; i++)
{
console.log(this.foos[i].ID);
if(this.foos[i].ID == fooID){
this.selectedFoo = this.foos[i];
this.fooAddress = this.selectedFoo.Address.toString();
}
}
}
}
Je l'origine essayé d'une manière contraignante ma valeur à la selectedFoo mais je recevais une erreur indiquant que ma valeur d'adresse n'a pas été définie. J'ai remarqué que je pourrais définir la valeur égale à selectedFoo et il n'a pas d'erreur. J'ai donc créé une nouvelle variable qui a été définie sur fooAddress en fonction du foo sélectionné. Je ne reçois aucune valeur même si en parcourant le code, je vois qu'il a une valeur.
Comment est-ce que je peux remplir ma valeur afin que je puisse l'utiliser dans mon modèle? Faites-moi savoir si je dois fournir autre chose.
Merci!
C'est génial! Je vous remercie. J'ai fini par résoudre cela en utilisant formgroup. De cette façon, je n'ai pas eu à créer des champs cachés et je peux simplement peupler mon modèle librement. C'était basé sur une suggestion d'un ami. Je voulais voir d'une manière qui était pertinente à ce poste. Alors merci! –
Super, pas de soucis - oui je ne savais pas pourquoi vous auriez besoin de champs de saisie cachés, je ne les avais pas utilisés dans mon travail récent avec les formes angulaires. De toute façon je suis content que tu l'aies fonctionné! –