如果选中复选框,如何显示div元素?

时间:2019-01-08 16:57:13

标签: javascript angular

如果使用ng-show选中了一个复选框,我试图显示一个div元素。 如果用户没有电话号码,请选中该复选框,然后将出现一个输入元素,可以在其中输入其邮寄地址。但是,在已检查和未检查的值之间切换目前不起作用。

我已经对元素进行了两种绑定。

-我的component.html文件-

<input type="checkbox" name="myCheckbox" [(ngModel)]="person.myCheckbox">
I don't have a telephone
<div ng-show="person.myCheckbox">
   Show when checked (telephone input)
</div>

-Person.ts文件-

export class Person {

        constructor(
            public myCheckbox: boolean
        ) {  }
    }

3 个答案:

答案 0 :(得分:2)

欢迎来到社区。

ng-show是angularJS框架的指令。

在Angular中(请注意大写字母'A'),我们使用ngIf指令,如下所示:

<div *ngIf="person.myCheckbox">

答案 1 :(得分:1)

对于有角度的,您应该使用ngIF

<div *ngIf="person.myCheckbox">

但是您可以仅使用CSS来实现。

[name="myCheckbox"] + div {
  display: none;
}

[name="myCheckbox"]:checked + div {
  display: block;
}
<input type="checkbox" name="myCheckbox" [(ngModel)]="person.myCheckbox">
I don't have a telephone
<div>
   Show when checked (telephone input)
</div>

答案 2 :(得分:0)

您只需使用*ngIf指令。

-您的component.html文件-

<input type="checkbox" name="myCheckbox" [(ngModel)]="person.myCheckbox">
I don't have a telephone
<div *ngIf="person.myCheckbox">
   Show when checked (telephone input)
</div>

-Person.ts文件-

export class Person {
    constructor(
        public myCheckbox: boolean
    ) {  }
}