首页 > 解决方案 > Angular JS:ng-option 添加“string:”前缀 int 选项值

问题描述

以下是我的选择ng-options

<select ng-options="key as value for (key , value) in getList() ..."> </select>

getList()函数检索以下对象:

{"CURRENT_ACCOUNT":"test1","ORDINARY_ACCOUNT":"test2"}

如果我检查生成的选项,它是以下内容:

<option label="test1" value="string:CURRENT_ACCOUNT" selected="selected">test1</option>

如您所见,除了value属性有string:前缀之外,一切似乎都是正确的。

如何删除前缀?我做错了什么?

标签: angularjsforms

解决方案


你没有做错任何事,你的代码实际上是正确的。这就是 AngularJS 创建选项的方式。

<select ng-model="selected" ng-options="key as value for (key, value) in getList()"></select>
Selected: {{selected}}

如果您打印出紧随其后的所选项目的值,您会注意到该值是公正的CURRENT_ACCOUNT,而不是string:CURRENT_ACCOUNT选项让您相信的。

这是一个展示它的plunker。

https://next.plnkr.co/edit/lvEi6pknJZMh0wab?open=lib%2Fscript.js&deferRun=1


推荐阅读