html - 如何将选项元素的值设置为排序?
问题描述
我有一个选择元素,我用数据库中的 s 填充。所以代码看起来像这样:
<select name="fruitsOption" id="fruitsOptionId" ngModel #fruitRef="ngModel">
<option *ngFor="let fruit of fruits">{{fruit}}</option>
</select>
我需要将option的value属性设置为它们的索引。例如,如果列表是 Mango、Apple、Orange,*ngFor 之后的净效果将是这样的:
<option value="0">Mango</option>
<option value="1">Apple</option>
<option value="2">Orange</option>
有没有办法做到这一点?
PS:我最终想知道表单提交后我的打字稿文件中所选元素的索引,因为我还有另一个数组与选项列表一一对应。
我在我的打字稿文件中试过这个:
i = document.getElementById("fruitOptionsId").selectedIndex
但这不起作用(说没有这样的财产)。
我也试过这个:
<option *ngFor="let i in fruits" value="i">{{fruits[i]}}</option>
但这会引发错误“无法绑定到 ngForIn”或类似的错误
解决方案
您需要在循环上有一个索引,然后将该值设置在值标签中...
我在这里为您创建了一个示例https://stackblitz.com/edit/angular-icfc1n
这是您的模板中应包含的内容的副本。
<select name="fruitsOption" id="fruitsOptionId" ngModel #fruitRef="ngModel">
<option *ngFor="let fruit of fruits; let i = index;" value="{{i}}">{{fruit}}</option>
</select>
推荐阅读
- spring-boot - 原因:使用 Redis 作为数据库时,无法确定合适的驱动程序类
- authentication - 中继 JWT 身份令牌是否安全?
- javascript - 如何使状态栏看起来像 HTML/CSS/JavaScript 中的某些在线订购状态栏?
- arrays - 根据matlab中的字典将一串字符转换为数字数组
- python - 如何在 Python3 中的函数中获取多个参数的用户输入
- javascript - 如何在一个 HTML 页面上的两个 Tabulator 表中显示一个 json 文件?
- azure - Azure 函数中的并发与 .Net 5(隔离)
- python-3.x - Python Selenium 按类名查找元素不起作用,并且在引发的错误中名称字符串的 0 位置有一个无条件点
- php - 比较来自 sql 数据库和 PHP 中 .xls 文件的两个西里尔字母字符串是否相等
- animation - Framer 运动复杂滚动动画