Javascript 选择菜单,将json列表与单数值匹配

Javascript 选择菜单,将json列表与单数值匹配,javascript,json,angularjs,input,angular-ngmodel,Javascript,Json,Angularjs,Input,Angular Ngmodel,我有一个美国各州的JSON文件,名称和两个字母的代码通过usStates的工厂/控制器变量绑定到菜单 因此,我将其用于我的菜单:ng options=s.code代表id.usStates中的s 工作正常,显示我的状态 后端开发人员给了我应该链接的JSON,他有这样的值: "subCity": "", "cityTown": "Selma", "stateProvince": "AL", "postalCode": "000000", "zip4": "", "countryCode": "US

我有一个美国各州的JSON文件,名称和两个字母的代码通过usStates的工厂/控制器变量绑定到菜单

因此,我将其用于我的菜单:ng options=s.code代表id.usStates中的s

工作正常,显示我的状态

后端开发人员给了我应该链接的JSON,他有这样的值:

"subCity": "",
"cityTown": "Selma",
"stateProvince": "AL",
"postalCode": "000000",
"zip4": "",
"countryCode": "US"
所以我试着添加这个项目作为我的ng模型

<select ng-model="id.partner.partnerAddressInfo.stateProvince" ng-options="s.code for s in id.usStates"></select>
但它与后端数据中的值没有关联,也就是说,它不显示AL。因此,我假设我需要以某种方式更改语法,但我在这里感到困惑。。。选择文档也有点混乱

我创建了一个简化的Plunker来显示这种情况:

有关ng选项,请参阅文档

当前使用的表单是arrray中值的标签

您需要的是数组中值的select as标签,select将表达式结果绑定到模型。 如果不提供select表达式,则它将默认为value

因此,您需要将语法更改为-

<select ng-model="id.partner.partnerAddressInfo.stateProvince"
        ng-options="s.code for s.code for s in id.usStates">
</select>

如果我没有错,并且理解了你的问题,那么你正在寻找这个解决方案

将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>

如果我是对的,请告诉我。

那不行。我做了一个plunker:selected=我在我看过的任何地方都没有看到。非常感谢。我希望所选的值被保存回json以便表单提交?如果表单提交,请使用ng submituser和user.selected,以便将数据带到表单中。谢谢你的确认。
 <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>