2017-03-29 7 views
7

私は、サーバー側のラジオボタンの有効な選択された値を参照して保存し、サーバーにモデルを送っクリックすると、私は2つのラジオボタンHTML look likeどのように正確にデータをAngular2のラジオボタンにバインドしますか?

<div class="btn-group" id="ProfitCodes"> 
         <div class="radio"> 
          <label> 
           <input type="radio" 
             class="radio-inline" 
             value="1" 
             [checked]="model.ForeignCompany.ProfitCode === 1" 
             [(ngModel)]="model.ForeignCompany.ProfitCode" 
             id="point1" 
             name="ProfitCode"><small>description</small> 
          </label> 
         </div> 
         <div class="radio"> 
          <label> 
           <input type="radio" 
             class="radio-inline" 
             [(ngModel)]="model.ForeignCompany.ProfitCode" 
             [checked]="model.ForeignCompany.ProfitCode === 2" 
             value="2" 
             id="point2" 
             name="ProfitCode"><small>description</small> 
          </label> 
         </div> 
        </div> 

を持つコンポーネントを持っています。この値はエラーなしでデータベースに保存されます。しかし、適切な値を持つラジオボタンは、データをバインドした後にチェクシングされません。私は角度の属性を変更し、2番目のラジオボタンがチェックされることを待っていることがわかり

<input class="radio-inline ng-untouched ng-pristine ng-valid" id="point2" name="ProfitCode" title="asd" type="radio" value="2" ng-reflect-name="ProfitCode" ng-reflect-value="2" ng-reflect-model="2" ng-reflect-checked="true"> 

<input class="radio-inline ng-untouched ng-pristine ng-valid" id="point1" name="ProfitCode" title="asdasda" type="radio" value="1" ng-reflect-name="ProfitCode" ng-reflect-value="1" ng-reflect-model="2" ng-reflect-checked="false"> 

2番目のラジオボタン:私はもみラジオボタンを参照してくださいデベロッパーツールで 。しかし、これは起こりません。 何が間違っていますか?

+0

ngModelと確認が一緒に動作しない、あなたは、tの1を削除する必要があります裾。 – Arash

答えて

14

これは私のケースでは機能します。私は削除[(ngModel)]

<div class="radio"> 
          <label> 
           <input type="radio" 
             value="1" 
             [checked]="model.ForeignCompany.ProfitCode === 1" 
             id="point1" 
             (change)="onProfitSelectionChange(1)" 
             name="ProfitCode"><small>description</small> 
          </label> 
         </div> 
         <div class="radio"> 
          <label> 
           <input type="radio" 
             value="2" 
             [checked]="model.ForeignCompany.ProfitCode === 2" 
             id="point2" 
             (change)="onProfitSelectionChange(2)" 
             name="ProfitCode"><small>description</small> 
          </label> 
         </div> 
        </div> 

とTSの方法は次のようになります。

onProfitSelectionChange(entry): void { 
    this.model.ForeignCompany.ProfitCode = entry; 
} 
1

あなたは[(ngModel)]にしてみてください[確認]は必要ありません。また、[値]を使用= "1 "値のかわりに=" 1"

<input type="radio" name="Coverage" [value]="1" [(ngModel)]="formdata.coverage_verified" />Yes

関連する問題