如何通过单击父<label>元素来获取输入字段的状态?

时间:2019-05-29 06:16:18

标签: javascript html css angular bootstrap-4

我在带有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中,谁能帮助我获得真假值。

1 个答案:

答案 0 :(得分:0)

那是因为您听了复选框上的点击事件。

Intsead,您应该收听(change)事件:

(change)="onChange('father', $event, 'diabetes')" 

这样,每次复选框的值更改时都会调用该函数。