【发布时间】:2019-08-26 20:22:28
【问题描述】:
我正在尝试使用 JSON 数据制作依赖下拉列表
使用(for in)获取将其集成到下拉列表中的密钥,但没有用,无论我每次通过密钥访问 json 数据以获取此结构中的值时搜索的内容,我都能将其放入下拉菜单 [{name:"india"},{name:"usa"}]。但是使用当前的 json 结构我无法做到。
HTML:-
<div ng-controller="myCtrl3">
<select>
<option>Select Country</option>
<option ng-repeat="country in chooseCountries"></option>
<option ng-repeat="states in country"></option>
<option ng-repeat="city in states"></option>
</select>
</div>
JS:-
app.controller('myCtrl3',function($scope,$http){
$http({
url:'js/country.json',
method:'GET'
})
.then(function(response){
$scope.chooseCountries = response.data;
});
});
JSON(country.json):-
[{
"INDIA": {
"KARNATAKA": ["BANGALORE", "UDUPI", "MANGALORE"],
"TELENGANA": ["HYDERABAD", "GUNTUR", "SHANKERPALLY"]
},
"USA": {
"CALIFORNIA": ["SAN JOSE", "SAN HOSE", "NEW YORK"],
"FLORIDA": ["MIAMI", "DENVER"],
"INDIAPOLIS": ["INDIANA", "MASACHUTTEUS"]
},
"AUSTRALIA": {
"NEW SOUTH WALES": ["SYDNEY", "BRISBANE"],
"QUEENSLAND": ["PERTH", "VICTORIA"],
"WESTERN AUSTRALIA": ["MELBOURNE", "MCG"]
}
}]
如果我单击印度,我希望输出的第一个下拉列表应显示印度、美国、澳大利亚,如果单击印度,第二个下拉列表应在第三个下拉列表中显示 KARNATAKA 和 TELENGANA,它应显示 BANGALORE、UDUPI、MANGALORE。没有得到任何错误但无法获得所需的输出。
【问题讨论】:
标签: javascript html css json angularjs