Javascript 需要输入文本字段,单选按钮事件以角度显示
我正在使用单选按钮事件。如果我选择“已婚”选项,将弹出三个输入文本字段(通过表单控件验证)(检查图像链接)。 如果我选择其他三个单选按钮,仍然会启用三个输入文本字段的验证,因此我无法提交表单 我必须用“isSelectedmethod()”来写逻辑,但我不知道怎么写Javascript 需要输入文本字段,单选按钮事件以角度显示,javascript,angular,radio-button,Javascript,Angular,Radio Button,我正在使用单选按钮事件。如果我选择“已婚”选项,将弹出三个输入文本字段(通过表单控件验证)(检查图像链接)。 如果我选择其他三个单选按钮,仍然会启用三个输入文本字段的验证,因此我无法提交表单 我必须用“isSelectedmethod()”来写逻辑,但我不知道怎么写 // Radio button Selection private selectedLink: string = ""; setradio(e: string): void { this.selectedLink = e;
// Radio button Selection
private selectedLink: string = "";
setradio(e: string): void {
this.selectedLink = e;
}
isSelected(name: string): boolean {
if (this.selectedLink === "Married") {
//that three input text fields validation should be enabled here
return true;
}
return false;
}
,
为此,可以使用disable,禁用的表单字段将从表单对象中完全排除,因此不会影响表单的有效性。因此,请检查选择的值,然后在表单字段上调用
disable()
或enable()
。另外,我会稍微更改您的代码,并删除额外的变量selectedLink
和方法。我不鼓励在模板中调用方法,因为每次检测到更改时都会调用这些方法。这就是我要做的:
this.personalForm=this.fb.group({
放射免疫状态:[''],
喷动名称:[{value:'',已禁用:true},[Validators.required]],
喷动占用:[{value:'',已禁用:true},[Validators.required]],
// ...
});
//收听单选按钮的更改并相应地禁用/启用字段:
this.personalForm.controls.radioCiviStatus.valueChanges
.subscribe(值=>{
如果(值==“已婚”){
this.personalForm.get('spooseName').enable();
this.personalForm.get('spooseOccupation').enable();
}否则{
this.personalForm.get('spooseName').disable();
this.personalForm.get('spooseOccupation').disable()
};
});
这里有一个
未选择“已婚”时是否隐藏字段?或者您正在从DOM中完全删除它?它将从DOM中删除“”