【发布时间】:2020-01-08 04:43:42
【问题描述】:
如果 value = 2,我想禁用复选框。这是我迄今为止尝试过的。
discheckcondition = [1,2,3];
for (let x = 0; x < this.discheckcondition.length; x++) {
// console.log(this.discheckcondition[x]);
if (this.discheckcondition[x] = '2') {
console.log(this.discheckcondition[x]);
this.disablecheckfornext = '1';
};
}
<ng-container *ngFor="let value of values;">
<label>
<input id="checkbox_group1" type="checkbox" pattern="[0-9]{10}" [disabled]=" disablecheckfornext == '1'" value="value.id" (change)="onCheckboxChange($event)"/>
</label>
</ng-container>
有人可以帮助我吗?这里的问题是所有文本框都被禁用了。
【问题讨论】:
-
您在这里使用了赋值运算符:
if (this.discheckcondition[x] = '2')。应该是 == 或 === -
我试过用它。它在这里不起作用。
-
为什么要在 ngFor 循环之外更新 disablecheckfornext。因为 ng-container 是由值集合驱动的。我建议值集合应该具有类似 value.disabled 的属性,以便可以用作 [disabled] = " value.disabled == '1' "。
标签: javascript angular angular6