根据多选输入对optgroup进行过滤的方法可以通过以下步骤实现:
下面是一个示例代码,演示如何根据多选输入对optgroup进行过滤:
<!DOCTYPE html>
<html>
<head>
<title>Filter optgroup based on multiple selection</title>
</head>
<body>
<label for="options">Select options:</label>
<select id="options" multiple>
<optgroup label="Group 1">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</optgroup>
<optgroup label="Group 2">
<option value="4">Option 4</option>
<option value="5">Option 5</option>
<option value="6">Option 6</option>
</optgroup>
<optgroup label="Group 3">
<option value="7">Option 7</option>
<option value="8">Option 8</option>
<option value="9">Option 9</option>
</optgroup>
</select>
<script>
const optionsSelect = document.getElementById('options');
optionsSelect.addEventListener('change', function() {
const selectedOptions = Array.from(this.selectedOptions).map(option => option.value);
const optgroups = Array.from(this.getElementsByTagName('optgroup'));
optgroups.forEach(optgroup => {
const options = Array.from(optgroup.getElementsByTagName('option'));
const shouldShowOptgroup = options.some(option => selectedOptions.includes(option.value));
if (shouldShowOptgroup) {
optgroup.style.display = 'block';
} else {
optgroup.style.display = 'none';
}
});
});
</script>
</body>
</html>
在这个示例中,用户可以通过多选方式选择一个或多个选项。根据用户的选择,相应的optgroup将被显示或隐藏。这样,用户就可以根据多选输入对optgroup进行过滤。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云