javascript - 选定的下拉值应在立即列值中更新
问题描述
必须选择下拉列表,并且选择的下拉列表值应在表中的立即列(td)值中更新。我尝试使用以下代码,我可以填充下拉列表,并且可以从下拉列表中选择选项。但是选择的下拉菜单需要在直接的“td”列中更新。请在附件中找到演示的屏幕截图和 stackblitz。
HTML 代码:
<select [disabled]="!person.check?true:null" [(ngModel)]="person.test" (change)="selected(person.test)">
<option *ngFor="let prod of ProductHeader" [value]="prod.name" >{{prod.name}}</option>
ts代码:
this.http.get(dataUrl).subscribe(response => {
this.persons = response.data.map(x=>({...x,check:false,test:'test'}));
this.dtTrigger.next();
});
解决方案
该列似乎指向 firstName 而不是您在下拉列表中绑定的测试。因此您可能希望将其更改为<td>{{ person.test}}</td>
.
例子:
<tbody>
<tr *ngFor="let person of persons;let i = index;">
<td><input [(ngModel)]="person.check" type="checkbox" class="checkboxCls" name="id" ></td>
<td>{{ person.id }}</td>
<td>
<span id={{i+1}})>{{ person.firstName }}</span><br/>
<select [disabled]="!person.check?true:null" [(ngModel)]="person.test" (change)="selected(person.test)">
<option *ngFor="let prod of ProductHeader" [value]="prod.name" >{{prod.name}}</option>
</select>
</td>
<td>{{ person.test }}</td> <---HERE
<td>{{ person.firstName }}</td>
<td>{{ person.lastName }}</td>
</tr>
</tbody>
另外,如果你想用名字初始化它;您可以更改地图功能以添加名字而不是“测试”
this.persons = response.data.map(x=>({...x,check:false,test:x.firstName}));
推荐阅读
- scala - Jdbc Feeder 使用步骤前在模拟中创建的数据
- python - 正则表达式读取到行尾 - Python
- php - 在集合过滤方法中使用 where 条件 - Laravel
- oauth-2.0 - 如何在 oauth 令牌中添加用户角色(WSO2 IS)
- c++ - 'std::slice_array 中没有名为 'sum' 的成员
' - sql-loader - 如何在条件下使用子字符串
- php - 如何使用 PayPal rest-api-sdk 设置具有不同计费周期和金额的 PayPal 定期付款?
- java - 为 JMS 2.0 使用者设置 clientID
- ios - 无法使用 Firestore 数据库快速取消初始化
- php - phmyadmin 中返回的数据,但 PHP 中没有