jQuery多级弹出选择是一种基于jQuery库实现的UI组件,用于创建多层次的选择框。这种组件通常用于需要从多个层级中选择数据的场景,例如地区选择(省-市-区)、分类选择(大类-小类-子类)等。
以下是一个简单的静态多级选择框的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery多级弹出选择</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
.hidden {
display: none;
}
</style>
</head>
<body>
<select id="province">
<option value="">请选择省份</option>
<option value="1">广东省</option>
<option value="2">湖南省</option>
</select>
<select id="city" class="hidden">
<option value="">请选择城市</option>
</select>
<select id="district" class="hidden">
<option value="">请选择区县</option>
</select>
<script>
$(document).ready(function() {
var cities = {
'1': ['广州市', '深圳市'],
'2': ['长沙市', '岳阳市']
};
var districts = {
'1-1': ['天河区', '越秀区'],
'1-2': ['南山区', '宝安区'],
'2-1': ['芙蓉区', '天心区'],
'2-2': ['岳阳楼区', '云溪区']
};
$('#province').change(function() {
var provinceId = $(this).val();
if (provinceId) {
$('#city').removeClass('hidden').empty().append('<option value="">请选择城市</option>');
$.each(cities[provinceId], function(index, city) {
$('#city').append('<option value="' + (index + 1) + '">' + city + '</option>');
});
$('#district').addClass('hidden').empty();
} else {
$('#city').addClass('hidden').empty();
$('#district').addClass('hidden').empty();
}
});
$('#city').change(function() {
var cityId = $(this).val();
if (cityId) {
var provinceId = $('#province').val();
var districtKey = provinceId + '-' + cityId;
$('#district').removeClass('hidden').empty().append('<option value="">请选择区县</option>');
$.each(districts[districtKey], function(index, district) {
$('#district').append('<option value="' + (index + 1) + '">' + district + '</option>');
});
} else {
$('#district').addClass('hidden').empty();
}
});
});
</script>
</body>
</html>
通过以上方法,可以有效解决jQuery多级弹出选择中常见的问题。
领取专属 10元无门槛券
手把手带您无忧上云