复选框(Checkbox)是一种常见的用户界面元素,允许用户在多个选项中选择一个或多个。通常用于表单中,用户可以通过勾选或取消勾选来选择或取消选择某个选项。
假设我们有一个数组 options
,其中包含一些选项,我们需要根据这个数组的内容预先选择复选框。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pre-select Checkboxes</title>
</head>
<body>
<form id="checkboxForm">
<label><input type="checkbox" name="options" value="Option1"> Option 1</label><br>
<label><input type="checkbox" name="options" value="Option2"> Option 2</label><br>
<label><input type="checkbox" name="options" value="Option3"> Option 3</label><br>
<label><input type="checkbox" name="options" value="Option4"> Option 4</label><br>
</form>
<script>
const options = ['Option1', 'Option3']; // 预先选择的选项
const checkboxes = document.querySelectorAll('#checkboxForm input[type="checkbox"]');
checkboxes.forEach(checkbox => {
if (options.includes(checkbox.value)) {
checkbox.checked = true;
}
});
</script>
</body>
</html>
原因:
解决方法:
</body>
标签之前,确保复选框元素已经加载。<script>
document.addEventListener('DOMContentLoaded', () => {
const options = ['Option1', 'Option3']; // 预先选择的选项
const checkboxes = document.querySelectorAll('#checkboxForm input[type="checkbox"]');
checkboxes.forEach(checkbox => {
if (options.includes(checkbox.value)) {
checkbox.checked = true;
}
});
});
</script>
通过这种方式,可以确保脚本在复选框元素加载之后执行,从而正确地预先选择复选框。
领取专属 10元无门槛券
手把手带您无忧上云