我有一个美国州的JSON文件,名称和双字母代码通过工厂/控制器变量usStates
[
{"name":"Alabama","code":"AL"},
{"name":"Alaska","code":"AK"}, ...]
所以,我将它用于我的菜单:ng-options="s.code for s in id.usStates"
工作正常,显示我的状态。
后端开发给了我应该链接的JSON,他有这样的价值:
"subCity": "",
"cityTown": "Selma",
"stateProvince": "AL",
"postalCode": "000000",
"zip4": "",
"countryCode": "US"
所以我尝试将此项目添加为我的ng-model,
<select ng-model="id.partner.partnerAddressInfo.stateProvince" ng-options="s.code for s in id.usStates"></select>
但它没有&#34;链接&#34;使用后端数据中的值,即它不显示&#34; AL&#34;。所以,我认为我需要以某种方式改变我的语法,但我在这里感到困惑...选择的文档也有点令人困惑。
我创建了一个简化的Plunker来显示情况:http://plnkr.co/edit/vvbbiiFprwNiTJTgWlR3?p=preview
答案 0 :(得分:0)
请参阅ng-options
here
&#34;表格&#34;您当前使用的是label for value in arrray
您需要的是select as label for value in array
,其中select
将表达式结果绑定到模型
如果您未提供select
表达式,则默认为value
因此,您需要将语法更改为 -
<select ng-model="id.partner.partnerAddressInfo.stateProvince"
ng-options="s.code for s.code for s in id.usStates">
</select>
答案 1 :(得分:0)
如果我没有错,并且理解你的问题,那么你正在寻找这个解决方案。
将您的HTML更改为
<select class="form-control" ng-model="selected" ng-init="selected=partner.partnerAddressInfo.stateProvince" ng-options="s.code as s.name for s in usStates"></select>
如果我是对的,请告诉我。