您可以使用json_encode或ajax加载子类别,然后使用js删除并追加选择更改事件上的选项。
例: https://plnkr.co/edit/LFB2cxFQaNByiE6MwS7B?p=preview
<!DOCTYPE html>
<html>
<head>
<script data-require="[email protected]" data-semver="2.1.3" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<select id="selectCategory">
<option value="1">first</option>
<option value="2">second</option>
<option value="3">third</option>
</select>
<select id="subCategories">
<option value="1">1-1</option>
<option value="2">1-2</option>
<option value="3">1-3</option>
</select>
<script>
// load subcategories with json_encode or ajax
var subcategories = [{
category: '1',
val: 1,
text: '1-1'
}, {
category: '1',
val: 2,
text: '1-2'
}, {
category: '1',
val: 3,
text: '1-3'
}, {
category: '2',
val: 1,
text: '2-1'
}, {
category: '2',
val: 2,
text: '2-2'
}, {
category: '2',
val: 3,
text: '2-3'
}, {
category: '3',
val: 1,
text: '3-1'
}, ];
$("#selectCategory")
.change(function() {
var category = this.value;
$("#subCategories")
.find('option')
.remove();
subcategories.forEach(function(s) {
if (s.category === category) {
$("#subCategories")
.append('<option value="' + s.val + '">' + s.text + '</option>');
}
});
});
</script>
</body>
</html>
_“我有十个类别和每个那些有十个小类,我需要让用户选择一个子类别,但我不希望把100只选择在一个单一的drop down。“_这是否在每个'select'元素中有10个'option'元素,而不是单个'select'元素中的100个'option'元素? – guest271314
是的,每个选择元素有十个选项元素。 – Steve