私はユーザーがフォーム内のユーザーデータを編集できるように私のコンポーネントに反応的なフォーム設定をしています。このフォームのAngular2 Reactiveフォームはフォームグループ内の要素を無効にする
、そこに表の行は、各行の最後にその行のすべての入力を無効にし、または可能にするチェックボックスです。ユーザーは基本的に入力データのグループを記入することができます。ここで
は私のフォームグループである:
slice3: this.fb.group({
shitStatus: { value: 0 },
hour_start: { value: '1', disabled: true },
minute_start: { value: '00', disabled: true },
period_start: { value: 'AM', disabled: true },
hour_end: { value: '1', disabled: true },
minute_end: { value: '00', disabled: true },
period_end: { value: 'AM', disabled: true },
days: this.fb.group({
day_Su: { value: '', disabled: true },
day_M: { value: '', disabled: true },
day_Tu: { value: '', disabled: true },
day_W: { value: '', disabled: true },
day_Th: { value: '', disabled: true },
day_F: { value: '', disabled: true },
day_Sa: { value: '', disabled: true }
})
})
私は、彼らがチェックするか、チェックボックスのチェックを外したときに、このフォームグループ内のすべての要素を切り替え機能を持っている:
toggleSlice(slice) {
if (this.transitionForm.get('shift.slice' + slice).disabled) {
this.transitionForm.get('shift.slice' + slice).enable();
} else {
this.transitionForm.get('shift.slice' + slice).disable();
}
}
私の問題が原因DOですshiftStatus
はフォームグループの一部ですが、トグルボタンも無効にしていますので、この要素のセットを元に戻すことができなくなります。
は、私は特定の入力を除いてshift.slice
で無効にすべてのものを言うことができますここでオペレータのいくつかのタイプを使用する方法はありますか?例えばjQueryので
、私は、この入力を除くすべてに、このロジックを適用言って:not("blah")
ような何かを行うことができます。
は私が指定した1つを除いてフォームグループ内のすべてのこれらの要素を無効にすることができますJavaScriptで何かを行うことができますか?私が見
おかげで、実際には再有効化単一の要素について考えていませんでした...それは遅かった:) – SBB
時々最も簡単な事はちょうど私達の目の前にあると見ることはできませんが、私たちのすべてに起こりますDはうれしいです解決策があなたのために受け入れられたと聞いて、私は本当にこれを処理するための最良の方法だと思います。 – Alex