【发布时间】:2019-07-13 17:57:44
【问题描述】:
我已经选中了 3 个复选框。现在,如果我取消选中 3 个复选框中的一个,其余 2 个复选框应该被禁用并带有复选标记。当我再次选中未选中的复选框时,应启用所有 3 个复选框。
HTML:
<div *ngFor="let contact of userList" [hidden]="!contact.isDisabled">
<input type="checkbox" name="radio" (click)="selectCheckboxInvitee($event.target.checked, contact, false)"
[(ngModel)]="contact.isChecked" />
<a>{{ contact.FirstName }} {{ contact.LastName }}</a>
</div>
TS:
selectCheckboxInvitee(evt, contact, isMultiple) {
if (evt) {
if (!isMultiple) {
this.userList.forEach(function (obj) {
if(!obj.isDisabled) {
if (obj.Id === contact.Id) {
obj.isChecked = true;
}
else {
obj.isChecked = false;
}
}
});
}
}
}
getSharedIds(sPk) {
// this.dicom.getSharedIDs(sPk).subscribe(res => {
// if (res.Body) {
const inviteeIds = this.res
? this.res.split(",")
: [];
this.userList.forEach(r => {
r.isChecked = false;
// r.isDisabled = false;
if (inviteeIds) {
inviteeIds.forEach(i => {
if (i == r.Id) {
r.isChecked = true;
r.isDisabled = true;
}
});
}
});
}
【问题讨论】:
标签: angular