我在带有Bootstrap 4和Angular 7的html中的标签标签中有一个输入复选框字段。我在单击输入复选框时调用一个函数,并将其状态“($ event.target.checked)”作为其中之一传递论据。但是我收到的只是“未定义”。另一方面,如果我直接从input:checkbox调用函数,即不带标签的父元素,那么它可以很好地工作。但是我需要使用前一种方法。
情况1: “> div>
label(click)=“ onChange('father',$ event.target.checked,'diabetes')” class =“ btn btn-sm rounded-pill position-relative mb-2 mx-2”> 输入type =“ checkbox” name =“ diabetes” autocomplete =“ off”>父亲 /标签 “
情况2: “> div>
input type =“ checkbox”(click)=“ onChange('father',$ event.target.checked,'diabetes')” name =“” id =“”>父亲 / div>“
当我在函数中同时满足以上两个条件时,在第一种情况下,我在输入字段外带有标签的情况下收到undefined,并且在没有标签的情况下也可以正常工作,如情况2所示,并提供了true和false的结果。在案例1中,谁能帮助我获得真假值。
答案 0 :(得分:0)
那是因为您听了复选框上的点击事件。
Intsead,您应该收听(change)
事件:
(change)="onChange('father', $event, 'diabetes')"
这样,每次复选框的值更改时都会调用该函数。