嵌套组合框(Nested ComboBox)是指在一个组合框(ComboBox)的下拉列表中再放置一个或多个组合框,形成层次结构的选择方式。这种设计常见于需要多级分类或选项的场景,例如行政区划选择(省-市-区)、产品分类(大类-小类)等。
以下是一个使用HTML和JavaScript实现简单嵌套组合框的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Nested ComboBox Example</title>
</head>
<body>
<select id="mainComboBox" onchange="loadSubOptions()">
<option value="">请选择</option>
<option value="category1">分类1</option>
<option value="category2">分类2</option>
</select>
<select id="subComboBox">
<option value="">请选择子分类</option>
</select>
<script>
const subOptions = {
category1: ['子分类1-1', '子分类1-2'],
category2: ['子分类2-1', '子分类2-2']
};
function loadSubOptions() {
const mainSelect = document.getElementById('mainComboBox');
const subSelect = document.getElementById('subComboBox');
const selectedCategory = mainSelect.value;
subSelect.innerHTML = '<option value="">请选择子分类</option>'; // 清空并重置子组合框
if (selectedCategory && subOptions[selectedCategory]) {
subOptions[selectedCategory].forEach(option => {
const opt = document.createElement('option');
opt.value = option;
opt.textContent = option;
subSelect.appendChild(opt);
});
}
}
</script>
</body>
</html>
通过以上方法,可以有效实现并优化嵌套组合框的功能和使用体验。
领取专属 10元无门槛券
手把手带您无忧上云