

新闻资讯
技术学院复选框通过input标签实现,type设为checkbox,配合label提升可访问性,name属性分组,value提交选中值,checked设置默认选中;JavaScript可通过querySelectorAll获取选中项或监听change事件实时处理;表单提交时仅选中项被发送,后端以数组接收;可通过CSS隐藏原生样式并自定义外观,利用:checked伪类切换状态,实现交互增强。
HTML复选框(checkbox)用于让用户从多个选项中选择一个或多个。它通过 input 标签定义,type 属性设置为 checkbox 来实现。
每个复选框使用 创建,并建议配合 label 标签提升可访问性。
示例代码:
表单提交时,只有被选中的复选框才会提交数据。使用 JavaScript 可以动态获取所有选中的项。
常见方法:
// 方法一:通过 querySelectorAll 获取所有选中的 checkbox
const checkboxes = document.querySelectorAll('input[name="fruit"]:checked');
const selectedValues = [];
checkboxes.forEach((box) => {
selectedValues.push(box.value);
});
console.log(selectedValues); // 如:["apple", "orange"]
方法二:绑定事件实时监听选择变化
document.querySelectorAll('input[name="fruit"]').forEach(box => {
box.addEventListener('change', function() {
if (this.checked) {
console.log(this.value + ' 被选中');
} else {
console.log(this.value + ' 被取消');
}
});
});
在 form 中,多个同名复选框可以提交数组式数据。后端通常以数组方式接收(如 PHP 的 $_POST['fruit'][] 或 Node.js 配合解析器)。
用户提交后,服务器只收到被勾选的 hobby 值。
原生复选框样式受限,可通过隐藏 input 并用 label 模拟来自定义外观。
思路:
示例CSS:
.custom-checkbox {
display: none;
}
.custom-label {
cursor: pointer;
padding: 5px 10px;
border: 1px solid #ccc;
border-radius: 4px;
user-select: none;
}
.custom-checkbox:checked + .custom-label {
background-color: #007bff;
color: white;
}
对应HTML:
基本上就这些。复选框的核心是多选功能,结合 name 分组、value 提交和 JS 控制,能灵活应用于各种场景。不复杂但容易忽略细节,比如 label 关联和默认选中处理。