如果选中一个复选框,选中并禁用其他复选框 Angular
If one checkbox is checked,check And disable other checkbox Angular
选中key1复选框后,我想选中并禁用key2复选框
HTML代码
<input class="form-check-input" type="checkbox" formControlName="key1" id="key1" (click)="key1Click()">
<label for="key1" class="form-check-label">Key 1</label>
<input class="form-check-input" formControlName="key2" type="checkbox" id="key2">
<label for="key2" class="form-check-label">Key 2</label>
复选框的 Typescript 代码
keyClick() {
let x = <HTMLInputElement>document.getElementById("key1");
let y = <HTMLInputElement>document.getElementById("key2");
if (x.checked) {
y.checked = true;
y.disabled = true;
}
else {
y.checked = false;
y.disabled = false;
}
}
通过使用此代码,key2 复选框被选中并被禁用。
但是 key2 复选框的布尔值仍然是 false。
关于如何在单击 key1 复选框时将 key2 复选框的布尔值更改为 true 的任何建议
我正在使用 Angular 8 及其反应形式 module.I 是 angular 的新手。
您可以订阅第一个复选框的 valueChanges
可观察对象,即 key1
。
演示片段:
this.formName.get("key1").valueChanges.subscribe(val=>{
if(val)
//enable the second checkbox
else
//disable the second checkbox
});
其中 formName 是您的反应式表单的名称。
也不要忘记在组件销毁时取消订阅此可观察对象。
选中key1复选框后,我想选中并禁用key2复选框
HTML代码
<input class="form-check-input" type="checkbox" formControlName="key1" id="key1" (click)="key1Click()">
<label for="key1" class="form-check-label">Key 1</label>
<input class="form-check-input" formControlName="key2" type="checkbox" id="key2">
<label for="key2" class="form-check-label">Key 2</label>
复选框的 Typescript 代码
keyClick() {
let x = <HTMLInputElement>document.getElementById("key1");
let y = <HTMLInputElement>document.getElementById("key2");
if (x.checked) {
y.checked = true;
y.disabled = true;
}
else {
y.checked = false;
y.disabled = false;
}
}
通过使用此代码,key2 复选框被选中并被禁用。 但是 key2 复选框的布尔值仍然是 false。 关于如何在单击 key1 复选框时将 key2 复选框的布尔值更改为 true 的任何建议 我正在使用 Angular 8 及其反应形式 module.I 是 angular 的新手。
您可以订阅第一个复选框的 valueChanges
可观察对象,即 key1
。
演示片段:
this.formName.get("key1").valueChanges.subscribe(val=>{
if(val)
//enable the second checkbox
else
//disable the second checkbox
});
其中 formName 是您的反应式表单的名称。 也不要忘记在组件销毁时取消订阅此可观察对象。