【发布时间】:2018-07-30 17:42:26
【问题描述】:
我使用反应形式。在项目列表(来自数据库)中,用户可以根据几个标准选择项目:参考编号、名称、制造商名称......
如果用户按参考号选择,将显示一个输入列表,其中包含 listOfItems 中的参考号列表,如果他按名称选择,将显示一个输入列表,其中包含来自 listOfItems 的名称列表listOfItems 等等...
例如,当用户在 datalist 中按名称选择项目并进行验证时,我想将其发送并显示在具有其特征的另一个组件中。因此,要知道哪个项目已被选中并访问其所有特征,我需要在数据列表中获取所选项目的索引。
component.html(按名称选择的项目):
<div *ngIf="formGroupItemSelection.controls.radioBoutton.value==='itemName'">
<input list="itemsName" formControlName="itemNameSelected" type="text" name="itemNameSelected">
<datalist id="itemsName">
<option *ngFor="let ref of listOfItems">{{ref.itemDesignation.input}}</option>
</datalist>
</div>
在component.ts中,可以通过:
访问输入的用户值this.valueSelected = this.formGroupItemSelection.controls.itemNameSelected.value
但是如何获取索引呢?
--更新-- 我尝试在我的输入列表中添加 "[(ngModel)]='itemSelected'" :
<div *ngIf="formGroupItemSelection.controls.radioBoutton.value==='itemName'">
<input list="itemsName" id="itemsName" formControlName="itemNameSelected" type="text" name="itemNameSelected" [(ngModel)]="itemSelected">
<datalist id="itemsName">
<option *ngFor="let ref of listOfItems" [ngValue]="ref" >{{ref.itemDesignation.input}}
</option>
</datalist>
然后在我的component.ts "itemSelected"的控制台中调用,但是没有取"ref"的值> :
addItem() {
console.log(this.itemSelected);
}
查了好几个题目都没找到解决办法,看来问题出在datalist上……
【问题讨论】:
标签: javascript html angular