jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。城市联动是一种常见的表单交互方式,通常用于省市区选择,用户选择一个省份后,会自动加载并显示该省份下的城市列表,选择城市后,再显示对应的区县列表。
城市联动通常分为两种类型:
城市联动广泛应用于需要用户选择地址的表单场景,如注册、下单、物流配送等。
以下是一个简单的静态联动示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>城市联动示例</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<select id="province">
<option value="">请选择省份</option>
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
</select>
<select id="city" disabled>
<option value="">请选择城市</option>
</select>
<select id="district" disabled>
<option value="">请选择区县</option>
</select>
<script>
$(document).ready(function() {
var cities = {
beijing: {
'beijing': ['东城区', '西城区']
},
shanghai: {
'shanghai': ['黄浦区', '徐汇区']
}
};
var districts = {
beijing: {
'东城区': ['东直门街道', '朝阳门街道'],
'西城区': ['西长安街街道', '新街口街道']
},
shanghai: {
'黄浦区': ['南京东路街道', '外滩街道'],
'徐汇区': ['徐家汇街道', '漕河泾街道']
}
};
$('#province').change(function() {
var province = $(this).val();
if (province) {
$('#city').empty().append('<option value="">请选择城市</option>');
$.each(cities[province], function(city, districtList) {
$('#city').append('<option value="' + city + '">' + city + '</option>');
});
$('#city').prop('disabled', false);
$('#district').empty().append('<option value="">请选择区县</option>').prop('disabled', true);
} else {
$('#city').empty().append('<option value="">请选择城市</option>').prop('disabled', true);
$('#district').empty().append('<option value="">请选择区县</option>').prop('disabled', true);
}
});
$('#city').change(function() {
var city = $(this).val();
if (city) {
$('#district').empty().append('<option value="">请选择区县</option>');
$.each(districts[$('#province').val()][city], function(index, district) {
$('#district').append('<option value="' + district + '">' + district + '</option>');
});
$('#district').prop('disabled', false);
} else {
$('#district').empty().append('<option value="">请选择区县</option>').prop('disabled', true);
}
});
});
</script>
</body>
</html>
$(document).ready()
或 $(function() {})
。$(document).ready()
或 $(function() {})
。通过以上示例和解决方法,可以更好地理解和实现 jQuery 城市联动功能。
领取专属 10元无门槛券
手把手带您无忧上云