返回一个结果列表,每个结果列表的状态值在1到n之间。 示例:
ID CurrentStatusID MaxStatusID
1、2、5
2、2、3
3,5,-
状态来自带有下拉列表的选择下拉字段,
aStatusID aStatusName
1,待处理
2,正在审核
3,被临时接受
4,已接受
5,已完成
结果中的每个结果都有一个选择字段以更改状态 状态只能更改为小于记录的最大状态ID的值(选择下拉列表使用以下代码)
<select name="aStatus" id="aStatus" class="form-control"
(change)="cAStatus($event,ticket.tRID)" required>
<option *ngFor="let aStatus of aStatusList"
[ngValue]="aStatus.aStatusID"
[selected]="ticket.aStatus.trim() === aStatus.aStatusName.trim()?'selected':''">{{aStatus.aStatusName}}
</option>
</select>
如何将大于或等于记录的最大StatusID的选项显示为灰色? 例子
记录ID 1将在下拉列表中显示为灰色的状态ID 5
记录ID 2将在下拉列表中显示灰色的状态ID 3、4和5
记录ID 3将在下拉列表中显示所有aStatusID可选
答案 0 :(得分:0)
您可以设置选项的禁用属性。
例如
<select name="aStatus" id="aStatus" class="form-control" required>
<option *ngFor="let aStatus of aStatusList"
[ngValue]="aStatus.aStatusID"
[selected]="ticket.aStatus.trim() === aStatus.aStatusID.trim() ?'selected':''"
[disabled]="ticket.aMaxStatusId && ticket.aMaxStatusId !== '-' && aStatus.aStatusID.trim() >= ticket.aMaxStatusId.trim()">{{aStatus.aStatusName}}
</option>
</select>
上述解决方案的最大状态为“-”。 如果将maxStatus改为''或未提供,则可以省去检查,只需要:
<option *ngFor="let aStatus of aStatusList"
[ngValue]="aStatus.aStatusID"
[selected]="ticket.aStatus.trim() === aStatus.aStatusID.trim() ?'selected':''"
[disabled]="ticket.aMaxStatusId?.trim() && aStatus.aStatusID.trim() >= ticket.aMaxStatusId.trim()">{{aStatus.aStatusName}}
</option>
希望这会有所帮助。