Html 如何使用循环中的不同选定值在表单标记中填充下拉列表?
我有一批员工,他们的测试由领导分配。分配测试时,将正确分配所选员工。在重新填充时,Lead可以查看分配给哪个员工的测试 当表格位于表单标记中时,EmployeeID填充正确,但其对应的员工名称不同 若我从表单标签中取出表格,它工作得非常好 员工id和姓名如下所示:Html 如何使用循环中的不同选定值在表单标记中填充下拉列表?,html,angular,Html,Angular,我有一批员工,他们的测试由领导分配。分配测试时,将正确分配所选员工。在重新填充时,Lead可以查看分配给哪个员工的测试 当表格位于表单标记中时,EmployeeID填充正确,但其对应的员工名称不同 若我从表单标签中取出表格,它工作得非常好 员工id和姓名如下所示: {{t.empid}} {{e.employeename} 结果如下截图所示 问题在于,您正在将select的值与t.empid值绑定。这样做的结果是,当您选择一个选项时,其值(即e.employeeid)被设置为t.empid
{{t.empid}}
{{e.employeename}
结果如下截图所示
问题在于,您正在将select的值与
t.empid
值绑定。这样做的结果是,当您选择一个选项时,其值(即e.employeeid
)被设置为t.empid
您尚未显示该组件的任何TypeScript代码,但可以尝试向tests
数组中的对象再添加一个属性,例如val
。然后使用它绑定ngModel:[(ngModel)]=“t.val”
还有一个建议-您的代码生成多个具有相同ID的
select
元素,这是您必须避免的。根据“id全局属性定义标识符(id),该标识符(id)在整个文档中必须是唯一的”。如果您仅将id=“assigned”
用于样式设置,则只需添加一个class属性即可。如果没有标记,则相同的代码可以正常工作。为什么当代码在标签中时它不工作?你能分享一下TypeScript代码吗,这对重现问题很有帮助。
<form class="cc">
<table>
<tbody>
<tr *ngFor="let t of tests">
<td>
{{t.empid}}
<select *ngIf="t" id="assigned" name="assignedto" [(ngModel)]="t.empid" class="form-control">
<option *ngFor="let e of empids; let i = index" [value]="e.employeeid">
{{e.employeename}}
</option>
</select>
</td>
</tr>
</tbody>
</table>
</form>