根据表单值 angular 禁用 table 中的复选框
Disable checkboxes in a table based on formvalues angular
我有一个名为 Value 的表单字段。
我有一个 add 按钮可以复制表单。
我有一个显示 table 按钮和一个隐藏 table 的 back 按钮。(忘记删除按钮)
table 有一列充满了复选框。现在,在 table 中,我将单击与在 value-form 中输入的值一样多的复选框。
举例来说,如果我在该表格中输入了 2,我最多可以单击其中的 2 个复选框 table。
之后,我通过单击 返回 按钮返回表单。
我的问题:
现在我的问题是,当我再次单击 add 按钮时,如果我复制另一个 value 表单并输入另一个值 3,如果我检查 table,您会看到复选框未选中。相反,我想要的是我之前检查过的复选框应该被禁用。
我已经尽可能清楚地解释了我的问题。如果您对我的问题有疑问,请发表评论。谢谢。
注意:在我的 stackblitz 中,我以简单(不丰富 UI)的方式发布了我的代码示例
Stackblitz:https://stackblitz.com/edit/angular-ivy-g8cty1?file=src%2Fapp%2Fapp.component.ts
据我了解,即使在 table 关闭并重新打开后,您仍希望选中您的复选框,
您可以使用事件绑定来做到这一点:
<td>
input type="checkbox" id="vehicle2" name="vehicle2"
(change)="addCheckValue(i,list.isTicked)"
[checked]="list.isTicked"
[disabled]="list.isDisabled">
</td>
<td *ngIf="list.isDisabled">
Already disabled
</td>
addCheckValue(index,isChecked){
if(isChecked === undefined){
isChecked = true
}
this.listes[index].isTicked = isChecked;
}
//disabled checked boxes on close
this.listes = this.listes.map(e => {
if (e.isTicked === true) {
e.isDisabled = true;
}
return e;
});
我有一个名为 Value 的表单字段。
我有一个 add 按钮可以复制表单。
我有一个显示 table 按钮和一个隐藏 table 的 back 按钮。(忘记删除按钮)
table 有一列充满了复选框。现在,在 table 中,我将单击与在 value-form 中输入的值一样多的复选框。
举例来说,如果我在该表格中输入了 2,我最多可以单击其中的 2 个复选框 table。
之后,我通过单击 返回 按钮返回表单。
我的问题:
现在我的问题是,当我再次单击 add 按钮时,如果我复制另一个 value 表单并输入另一个值 3,如果我检查 table,您会看到复选框未选中。相反,我想要的是我之前检查过的复选框应该被禁用。
我已经尽可能清楚地解释了我的问题。如果您对我的问题有疑问,请发表评论。谢谢。
注意:在我的 stackblitz 中,我以简单(不丰富 UI)的方式发布了我的代码示例
Stackblitz:https://stackblitz.com/edit/angular-ivy-g8cty1?file=src%2Fapp%2Fapp.component.ts
据我了解,即使在 table 关闭并重新打开后,您仍希望选中您的复选框,
您可以使用事件绑定来做到这一点:
<td>
input type="checkbox" id="vehicle2" name="vehicle2"
(change)="addCheckValue(i,list.isTicked)"
[checked]="list.isTicked"
[disabled]="list.isDisabled">
</td>
<td *ngIf="list.isDisabled">
Already disabled
</td>
addCheckValue(index,isChecked){
if(isChecked === undefined){
isChecked = true
}
this.listes[index].isTicked = isChecked;
}
//disabled checked boxes on close
this.listes = this.listes.map(e => {
if (e.isTicked === true) {
e.isDisabled = true;
}
return e;
});