我正在使用AngularJS作为我的网络应用。我的目标是使用ng-options
列出两个下拉列表。
作为AngularJS的新手,我能够显示数据,但整个对象显示为单个选项,我无法拆分每个数据。
请找到我用过的代码。
<select ng-model="selectedRegion" ng-options="region.countryName for region in eyebrow.regionSelector"></select>
<select ng-model="selectedRegion.selectLang" ng-options= "selectedRegion.selectLang for region in selectedRegion track by selectedRegion.countryName"></select>
angular.module ('appngOption')
.controller ('headerController', function($scope) {
$scope.eyebrow = { regionSelector: [
{
"id": 1,
"countryName": "Belgium",
"selectLang": ["Dutch", "English", "French"]
},{
"id": 2,
"countryName": "France",
"selectLang": ["English", "French"]
}]}
});
示例:选择比利时时,荷兰语,英语和法语应该是每个单独的下拉选项。 &安培;选择法国时,英语和法语应该是每个单独的下拉选项。
请仔细检查代码,如果我错过了什么,请告诉我。非常感谢您的帮助。
答案 0 :(得分:2)
我修复了代码中的一些问题。
第一个输入是正确的:
<select ng-model="selectedRegion" ng-options="region.countryName for region in eyebrow.regionSelector"></select>
但是在第二次,我改变了几件事:
ng-model
设置为另一个变量(selectLang
),它更干净。ng-options
遍历selectedRegion.regionSelector
,而不只是selectedRegion
。那是你的主要错误:
<select ng-model="selectLang" ng-options="lang for lang in selectedRegion.selectLang"></select>