如何使复选框的行为类似于角度 6 中的单选按钮?

Posted

技术标签:

【中文标题】如何使复选框的行为类似于角度 6 中的单选按钮?【英文标题】:how to make checkbox behave like radio button in angular 6? 【发布时间】:2020-04-07 16:36:41 【问题描述】:

我有一组复选框,还有一个新添加的复选框。如果选中了该组中的任何复选框,我想禁用添加的复选框,如果选中了新复选框,则禁用该复选框组。我尝试过这样的事情:

<td *ngFor="let value of GroupRequestDesc;let $index=index " class="col-sm-6" style="padding-right: 15px;">
    <label for="checkbox_group2" class="checkbox cb_pad" style="width: 180px;display:inline-block;">
        <input id="checkbox_group2" class="checkbox1" type="checkbox" [checked]="checkbox1" value="value.ReqGroupId" [disabled]="value.ReqGroupDesc == ReqGroupDesc || ReqGroupName == 'SERVICE_ACCESS_GROUP'" (change)="checkboxVisibility(value.nxReqGroupId,$event)" /><i class="skin"></i><span>value.nxReqGroupDesc</span>
    </label>
</td>
<td>
    <label for="checkbox_group3" class="checkbox cb_pad" style="width: 180px;">
        <input id="checkbox_group3" class="checkbox2" type="checkbox" value="" [checked]="checkbox2" [disabled]="requestGroupName =='SERVICE_ACCESS_GROUP'" /><i class="skin"></i><span>Create New Group</span>
    </label>
</td>

检查复选框的功能是否被选中

checkboxVisibility(value, event) 
    if (event.target.checked) 
        console.log('hi its checked');
        this.checkedList.push(value);
        console.log('hhhhhhhhhhhhhhh', this.checkedList);
     else 
        for (var i = 0; i < this.groupvalues.length; i++) 
            if (this.checkedList[i] == value) 
                this.checkedList.splice(i, 1);
            
        
    

复选框组和新添加的复选框应该表现得像单选按钮。

【问题讨论】:

【参考方案1】:

如果您需要将收音机的外观更改为复选框,只需插入此样式:

input[type="radio"] 
  -webkit-appearance: checkbox; /* Chrome, Safari, Opera */
  -moz-appearance: checkbox;    /* Firefox */
  -ms-appearance: checkbox;     /* not currently supported */

【讨论】:

Francesco M. 您好,我需要复选框的行为类似于单选按钮。 是的,那么最好只将单选按钮的外观更改为复选框以便您具有相同的行为? 不,我没有相同的行为。我得到了一组复选框,还有新添加的复选框。所以这里的条件就像如果选择了组中的任何复选框,我需要禁用新添加的复选框,如果选择了新添加的复选框,其他应该禁用。

以上是关于如何使复选框的行为类似于角度 6 中的单选按钮?的主要内容,如果未能解决你的问题,请参考以下文章

Google Chrome 中的单选按钮和复选框异常行为

如何更改蚂蚁设计中的单选按钮颜色?

MFC的单选按钮、复选框问题

选择组中的下一个单选按钮

javascript中的单选按钮验证

获取 Ajax 行为中的单选按钮选择值