如何在angular2中禁用多个单选按钮(在同一组下)?

时间:2017-03-03 05:15:49

标签: angular angular2-routing angular2-forms

在我加载页面的情况下,我想要禁用具有相同组的单选按钮行 在相同组中的复选框检查单选按钮将启用,

我的代码就像

 <tr *ngFor="let p of c .permission">
                <td><label class="font-light">
                    <input class="minimal-red" type="checkbox"
                         name="{{p.permissionid}}"
                           (change)="getPermission(p, $event)">
                    {{ p.permissionname}} </label></td>

                       <td><label class="font-light">
                        <input class="minimal-red" type="radio" value="self" name="{{p.permissionname}}"
                           [disabled]="disableRole(p.permissionname)">self</label></td>
                      <td><label class="font-light">
                        <input class="minimal-red" type="radio" value="selfrole"   name="{{p.permissionname}}" [disabled]="disableRole(p.permissionname)">self Role </label></td>

我想在页面加载时禁用一行单选按钮,在复选框中检查我想能够单选按钮,请帮我怎么办?

1 个答案:

答案 0 :(得分:0)

您可以在班级中设置公共旗帜,以便在页面加载时将其禁用,如:

public p.permissionname = true;  

现在,在您的页面中,当您更改为此内容时,您将收到已禁用的广播:

[disabled]="p.permissionname"

现在在复选框绑定事件中,您可以将其设置为false:

<input class="minimal-red" type="checkbox"
       name="p.permissionid"
       (change)="getPermission(p, $event)">

getPermission(p, ev){
   // some other code;

   this.p.permissionname = !this.p.permissionname; // will toggle the state
}

Demo @Plnkr