如何将正确的值赋给 angularjs 生成的 select 选项值?

How to put the right value to select option value generated by angularjs?

我创建了 select 字段来显示使用 angularjs 的产品列表。我需要在提交表单时获取选项值。但是我发现选项值是错误的。我期望像 1、2、3 等值(无论数据数组中的产品 ID),而是我得到的:

<option label="Product A" value="object:1">Product A</option>
<option label="Product B" value="object:2">Product B</option>
<option label="Product C" value="object:3">Product C</option>

在这种情况下如何输入正确的值?

这是我的代码:

<select ng-options="item.product for item in data" ng-model="product" name="product" class="form-control" ng-change="selectColorByProduct(item.id_product)"></select>

您需要将 item 添加为 item.product 作为标签,并在您的 ng-options 中添加 track by 作为 id .类似于:

<select ng-options="item as item.product for item in data track by item.id_product" ng-model="product" name="product" class="form-control" ng-change="selectColorByProduct(item.id_product)"></select>