在JavaScript中,复选框(checkbox)是一种常见的表单元素,允许用户从多个选项中选择一个或多个选项。每个复选框都有一个唯一的name
属性和一个value
属性。当复选框被选中时,它的checked
属性为true
。
以下是一个简单的示例,展示如何获取选中的复选框的值:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Checkbox Example</title>
</head>
<body>
<form id="myForm">
<input type="checkbox" name="interests" value="sports"> Sports<br>
<input type="checkbox" name="interests" value="music"> Music<br>
<input type="checkbox" name="interests" value="reading"> Reading<br>
<button type="button" onclick="getSelectedValues()">Submit</button>
</form>
<script>
function getSelectedValues() {
const checkboxes = document.querySelectorAll('input[name="interests"]:checked');
const selectedValues = Array.from(checkboxes).map(cb => cb.value);
console.log('Selected Values:', selectedValues);
}
</script>
</body>
</html>
原因:需要遍历所有复选框并检查它们的checked
属性。
解决方法:
使用querySelectorAll
选择所有选中的复选框,然后使用Array.from
将其转换为数组,并通过map
方法提取每个复选框的value
属性。
const checkboxes = document.querySelectorAll('input[name="interests"]:checked');
const selectedValues = Array.from(checkboxes).map(cb => cb.value);
console.log('Selected Values:', selectedValues);
原因:需要在每次复选框状态改变时触发事件处理函数。
解决方法:
使用addEventListener
监听每个复选框的change
事件,并在事件处理函数中获取选中的值。
document.querySelectorAll('input[name="interests"]').forEach(checkbox => {
checkbox.addEventListener('change', function() {
const selectedValues = Array.from(document.querySelectorAll('input[name="interests"]:checked')).map(cb => cb.value);
console.log('Selected Values:', selectedValues);
});
});
通过这些方法,可以有效地处理复选框的值获取和相关交互逻辑。
领取专属 10元无门槛券
手把手带您无忧上云