要使用JSON和jQuery实现国家/州/城市的选择,你可以按照以下步骤操作:
data.json
的文件,内容如下:{
"中国": {
"北京": ["东城区", "西城区", "朝阳区"],
"上海": ["黄浦区", "徐汇区", "长宁区"]
},
"美国": {
"加州": ["洛杉矶", "旧金山", "圣地亚哥"],
"纽约州": ["纽约市", "布法罗", "罗切斯特"]
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>国家/州/城市选择器</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<select id="country">
<option value="">请选择国家</option>
</select>
<select id="state">
<option value="">请选择州/省</option>
</select>
<select id="city">
<option value="">请选择城市</option>
</select>
<script src="main.js"></script>
</body>
</html>
main.js
文件中编写jQuery代码,用于填充下拉列表并处理选择事件。$(document).ready(function () {
// 初始化国家列表
$.getJSON("data.json", function (data) {
for (var country in data) {
$("#country").append("<option value='" + country + "'>" + country + "</option>");
}
});
// 国家选择事件
$("#country").on("change", function () {
var country = $(this).val();
$("#state").empty().append("<option value=''>请选择州/省</option>");
$("#city").empty().append("<option value=''>请选择城市</option>");
if (country) {
var states = data[country];
for (var state in states) {
$("#state").append("<option value='" + state + "'>" + state + "</option>");
}
}
});
// 州/省选择事件
$("#state").on("change", function () {
var state = $(this).val();
$("#city").empty().append("<option value=''>请选择城市</option>");
if (state) {
var cities = data[$("#country").val()][state];
for (var city of cities) {
$("#city").append("<option value='" + city + "'>" + city + "</string></option>");
}
}
});
});
注意:确保data.json
文件的路径正确,且jQuery库已正确加载。
现在,当用户选择一个国家时,州/省的下拉列表将被填充;当用户选择一个州/省时,城市列表将被填充。
领取专属 10元无门槛券
手把手带您无忧上云