1
オブジェクト「say」person {name:string、age:number}の配列があります。私のhtmlでは、私はselectionを持つinput要素としてnameを表示しています。この選択肢から名前を選択すると、年齢入力要素に対応する年齢を表示したいと考えています。誰でもこれを行う方法を知っていますか?ここに私のHTMLコードがあります:角度2の他の入力要素の値に基づいて入力要素の値を表示する方法
<!-- Display person's name -->
<div class="input-group">
<span class="input-group-addon">Person Name</span>
<input type="text" [(ngModel)]="selectedPerson.name" name="personName" list="persons" required>
<datalist id="persons">
<option *ngFor='let p of person_list' value={{p.name}} selected>
{{p.name}}
</option>
</datalist>
</div>
<!-- Display age -->
<div class="input-group">
<span class="input-group-addon">Age</span>
<input type ="text"
placeholder="Age"
[(ngModel)]="selectdPerson.age"
name="age" required>
</div>
人の名前の選択に基づいて年齢をどのように表示しますか?これらの入力要素は両方とも同じページ/コンポーネントにあります。
これはうまくいきます。私が再選択しようとすると、プロパティの時代を取得できないというエラーが発生します。私はそれがonChanged()メソッドから来ていると思います。人の名前選択をクリアするためにbackspaceをタイプすると、すぐにonChanged()がトリガーされます。これにより、match = nullが発生します。これを修正するために、if(match!= null){}の下にthis.selectedPerson.age = match.ageを置きます。今それは働いています。あなたの答えgarth74に感謝します。 – Jpatel
ええ、ええ、チェックを忘れてしまった。 問題はありません:-) –