繁体   English   中英

ng-options与AngularJS

[英]ng-options with AngularJS

我有一个对象数组,例如:

[对象{id =“ 121”,name =“ Planes”},对象{id =“ 212”,name =“ Buses”},对象{id =“ 210”,name =“ Cars”},...。 ]

我希望它出现在一个选择中,例如:

<select....>
<option value="121"...>Planes</option>
<option value="212"...>Buses</option>
<option value="210"...>Cars</option>
</select>

但是,如果我使用以下代码:

 <select.... ng-options="category.id as category.name for category in categories" .....

我得到以下内容(值错误):

<select....>
<option value="1"...>Planes</option>
<option value="2"...>Buses</option>
<option value="3"...>Cars</option>
</select>

我该如何解决?

谢谢

Angular在选择中使用数字值作为选项值,但是您可以使用ng-model跟踪选择值。

您可以尝试使用track by (取决于Angular版本)将正确的值输入select中。 track by category.id您的情况track by category.id进行track by category.id

还要检查此问题/答案

编辑: 这个问题也几乎相同。 下面有人为您发布了一个小提琴,所以我现在不再这样做。

在ng-options指令中使用track by选项

<select ng-options="category as category.name for category in categories track by category.id" ng-model="category"></select>

我帮你弄个小提琴

呈现的<select>可能不正确,但这并不重要,因为ng-model值将是所选类别的ID。

参见: https : //jsfiddle.net/prappjt3/2/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM