我有一个JSON文件,我创建了一个第一个变量,它将国家排除在外。这些国家/地区内有城市,这是该数据的变量:
var sucursalPais = [
"colombia": [
"bogotá",
"cali"
],
"peru" : [
"lima",
"cusco"
]
]
现在,我正在填充两个选择标签;一个国家名称,使用此:
for (var k in sucursalPais) {
pais.innerHTML += '<option value ="' + k + '">' + k +'</option>';
}
因此,当选择一个国家时,下一个选择将由该国家城市填充;但我不知道如何将城市称为下一个选择,因为我没有城市[]子阵列,所有这些都在其上,我直接将城市划分到每个国家。
我已经尝试了所有,但我还没有找到解决方案。
这是我的所有代码:
var pais = document.getElementById("pais");
var sucursalPais = [];
for (z = 0; z < sucursalData.length; z++) {
if(sucursalData[z].content.country && sucursalData[z].content.city) {
if(sucursalPais[sucursalData[z].content.country] != undefined) {
sucursalPais[sucursalData[z].content.country].push(sucursalData[z].content.city);
} else {
sucursalPais[sucursalData[z].content.country] = [sucursalData[z].content.city];
}
}
}
for (var k in sucursalPais){
pais.innerHTML += '<option value ="' + k + '">' + k +'</option>';
}
pais.addEventListener("change", function () {
for (m = 0; m < pais[this.value].length; m++) {
console.log(sucursalPais[m]);
ciudad.innerHTML += '<option value ="' + sucursalPais[m][value] + '">' + sucursalPais[m][value] +'</option>';
}
});
答案 0 :(得分:0)
我不知道 pais 是什么,但你明白了这一点:
sucursalPais = {
"colombia": [
"bogotá",
"cali"
],
"peru" : [
"lima",
"cusco"
]
}
var pais = "";
var pius = "";
for (var k in sucursalPais) {
pais += '<option value ="' + k + '">' + k +'</option>';
for (var z=0; z < sucursalPais[k].length; z++) {
var city = sucursalPais[k][z];
pius += '<option value ="' + city + '">' + city +'</option>';
}
}
console.log(pais); // Countries
console.log(pius); // Cities
...您可以使用 innerHTML 创建 pius ,就像在您的示例中一样,我使用字符串来简化演示。