2017-09-20 10 views
3

私は角度4のアプリケーションに取り組んでおり、反応性のあるフォームを使っています。チェックボックスでチェックボックスの値を1に設定する方法とチェックをはずした場合に0を設定する方法はありますか?

0/1にチェックボックスの値をtrue/falseで保存しません。今私は自分のチェックボックスをチェックすると、私は真実とuncheckに私は偽を持っているが、私は1チェックし、0チェックしないでください。

+0

'変換= input.checkedてみましょう:

public myValue: number = 0; 

はあなたが後で値をマップReactiveFormsModuleを使用している場合は? 1:0; ' – Zze

答えて

0

あなたはまた、反応形式でフォームの送信時に値をチェックし、1 : 0

に値をマップすることができngModel

[ngModel]="value.selected == 1 ? true : value.selected == 0 ? false : null" (ngModelChange)="value.selected = $event ? 1 : 0" 

を使用することができます更新

this.form.get('checked') ? 1:0

+0

フィールド名で値を変換したくないのは、しばらくの間フィールド名を知らないからです。 –

+0

@LakhvirSinghthenこれは最適な賭けですが、ngModelを使用してください。それを使用することはお勧めできません。どのようにコントロール名を知っているのですか? –

+0

コントロール名は動的で、実行時にAPIから作成されるためです。 –

0

あなたは(ngModelChange)を利用しようとすることができますtemplate-drivenフォームを使用している場合は、値をマップします。

[ngModel]="!!myValue" (ngModelChange)="myValue = $event ? 1 : 0" 

やコンポーネントテンプレート内

this.myValue = +this.myForm.get('myCheckboxControl'); 
関連する問題