用Javascript实现多选按扭的全选,不选,反选三个功能
时间: 2024-11-12 17:40:56 浏览: 3
用angular实现多选按钮的全选与反选实例代码
在JavaScript中实现一个多选按钮的全选、不选和反选功能,通常会涉及到HTML结构以及事件监听。以下是一个简单的示例:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Multi-select Example</title>
<style>
.checkbox {
display: inline-block;
margin-right: 5px;
}
</style>
</head>
<body>
<input type="checkbox" id="selectAll" onclick="toggleAll(this)">
<label for="selectAll">全选</label><br>
<input type="checkbox" class="checkbox" value="option1" id="option1" onclick="toggleOthers(this)">
<label for="option1">Option 1</label><br>
<!-- Add more checkboxes as needed -->
<!-- ... -->
<script>
function toggleAll(checkbox) {
var checkboxes = document.getElementsByClassName('checkbox');
if (checkbox.checked) {
checkboxes.forEach(function(cb) { cb.checked = true; });
} else {
checkboxes.forEach(function(cb) { cb.checked = false; });
}
}
function toggleOthers(targetCheckbox) {
var checkboxes = document.getElementsByClassName('checkbox');
if (!targetCheckbox.checked) {
checkboxes.forEach(function(cb) { cb.checked = false; });
} else {
// If not 'selectAll' checkbox is checked, uncheck all except the target
checkboxes.forEach(function(cb, index) {
if (cb !== targetCheckbox) {
cb.checked = false;
}
});
}
}
</script>
</body>
</html>
```
在这个例子中,`selectAll`是控制所有其他选项的复选框。当用户点击`selectAll`时,它会设置所有其他复选框的状态;单击其他复选框时,如果`selectAll`未被选中,那么只有该被点击的复选框会被选中,否则所有复选框都会取消选中状态。
阅读全文