【发布时间】:2020-07-01 14:54:41
【问题描述】:
您好,我需要禁用通过复选框选择的特定行,我尝试了下面的代码,但它不起作用,所以请帮助我,谢谢。
html文件代码:
<form [formGroup]="myFormGroup">
<div *ngFor="let item of bookingList1; let i = index;" >
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<div class="form-group mb-10">
<label class="formLabel">Select</label>
<input type="checkbox" class='check' name ="chk_{{i}}"
(click)="changeCheck(i,$event)" >
</div>
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 pl-0 pr-0">
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
<div class="form-group mb-10" >
<label class="formLabel">{{i}}</label>
<input format="{dd-MM-yyyy}" type="text" [attr.disabled]="index == checkindex ? true : false" (paste)="false" onkeydown="return false" (ngModelChange)="checkDirty()" placeholder="select start date and end date"
class="form-control bg-grey" #dp="bsDaterangepicker"
bsDaterangepicker [(value)]="item.BsRangeDate" [bsConfig]="bsConfig"
formControlName="Period_{{i}}" [placement]="'top'">
<span class="glyphicon glyphicon-calendar glyicon" (click)="dp.toggle()" [attr.aria-expanded]="dp.isOpen"
value="Toggle" style="top:36px"></span>
</div>
</div>
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4">
<div class="form-group mb-10">
<label class="formLabel">{{checkindex}}</label>
<input type="text" (change)="makeDirty()" [disabled]="disabledvar" class="form-control bg-grey" [(value)]="item.Hours" (focus)="mouseEnter() "
(focusout)="mouseLeave()" formControlName="Hours_{{i}}">
</div>
</div>
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<div class="form-group mb-10">
<label class="formLabel">Unconfirmed</label>
<input type="checkbox" (change)="makeDirty()" [attr.disabled]="disablerow" class="check" [(ngModel)]="item.Unconfirmed" [ngModelOptions]="{standalone:true}"
>
</div>
</div>
</div>
ts文件代码:
changeCheck(index, args) {
debugger;
if (args.srcElement.checked) {
alert("checkbox has been checked "+ index);
this.checkindex = index;
this.disablerow = true;
this.disabled = this.disabled + "" + index;
this.disabledvar = true;
this.myFormGroup.controls[index].disable();
this.myFormGroup.get("Hours_");
alert("checkbox has been checked " + index);
} else {
//alert("checkbox has been unchecked " + index);
this.checkindex = index;
this.disablerow = false;
alert("checkbox has been unchecked " + index);
this.disabledvar = false;
}
}
此代码在模态弹出窗口中,如下图所示:
【问题讨论】:
-
因此,当您单击选择复选框时,您需要显示突出显示的字段(仅限精确索引字段)。该选择复选框也在您的 ngFor 中。我的理解正确吗?
-
@Vignesh 我已更新问题错过了选择复选框我想根据复选框启用/禁用特定行
标签: html angular angular6 angular7