我有一个JSON响应数据,这是一个代表国家代码和描述的数组
{"codeDescList":[{"desc":"Aruba"}],"codeValueCode":"ABW"},
{"codeDescList":[{"desc":"Afghanistan"}],"codeValueCode":"AFG"},
{"codeDescList":[{"desc":"Angola"}],"codeValueCode":"AGO"},
{"codeDescList":[{"desc":"Anguilla"}],"codeValueCode":"AIA"},
{"codeDescList":[{"desc":"Åland Islands"}],"codeValueCode":"ALA"},
{"codeDescList":[{"desc":"Albania"}],"codeValueCode":"ALB"}
我将上述数组存储在angularJS范围对象中,如下所示
$scope.codeValueData = response.data;
我为国家/地区创建了选择框
<div class="form-group">
<select ng-model="profileBizObj.preferredAddress.countryCode" ng-options="codeValue.codeDescList[0].desc for codeValue in codeValueData track by codeValue.codeValueCode">
</select>
</div>
正确创建选择框,如下所示
<option value="ABW">Aruba</option>
<option value="AFG">Afghanistan</option>
<option value="AGO">Angola</option>
<option value="AIA">Anguilla</option>
<option value="ALA">Åland Islands</option>
<option value="ALB">Albania</option>
我的代码的问题是如果profileBizObj.preferredAddress.countryCode指的是值&#34; AGO&#34;选择框没有显示国家&#34;安哥拉&#34;。选择框显示为空白。
我是angularJS的新手。请帮助解决此问题。谢谢
答案 0 :(得分:0)
使用ng-repeat
可以更轻松地完成您尝试做的事情。试试这个:
<select ng-model="profileBizObj.preferredAddress.countryCode">
<option ng-repeat="item in codeValueData" value="{{item.codeValueCode}}">
{{item.codeDescList[0].desc}}
</option>
</select>
这是一个工作小提琴:http://jsfiddle.net/5s0b0jnz/
答案 1 :(得分:0)
写下面的select语句对我有用
<select ng-model="profileBizObj.preferredAddress.countryCode" ng-options="codeValue.codeValueCode as codeValue.codeDescList[0].desc for codeValue in codeValueData">
选择框填充为
<option value="0">Aruba</option>
<option value="1">Afghanistan</option>
<option value="2">Angola</option>
<option value="3">Anguilla</option>
<option value="4">Åland Islands</option>
<option value="5">Albania</option>
和Selectiong Angola将“AGO”存储在模型“profileBizObj.preferredAddress.countryCode”中,这正是我所需要的。
谢谢大家的帮助
答案 2 :(得分:-1)
您的ng-options为sap.m.DatePicker
,表示使用ng-options="codeValue.codeDescList[0].desc for codeValue in codeValueData track by codeValue.codeValueCode">
将绑定到模型,codeValue
作为显示值。因此,当您的模型值为...desc
时,它不能被引用到codeValueData中的某个对象。
您应该使用以下选项设置AGO
之类的选项值:
AGO
然后ng-options="codeValue.codeValueCode as codeValue.codeDescList[0].desc for codeValue in codeValueData track by codeValue.codeValueCode">
将应用于您的模型。反之,对于某些模型值,如codeValueCode
,将选择相关选项。