【前端教程】JavaScript 实现爱好选择与全选/全不选功能

发布于:2025-09-06 ⋅ 阅读:(15) ⋅ 点赞:(0)

选择爱好,包含全选和全不选效果

功能说明

实现一个爱好选择功能,包含三个复选框(足球、篮球、乒乓球)和一个按钮,点击按钮可以在"全选"和"全不选"状态之间切换。

实现代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>爱好选择</title>
    <style>
        #btn1{
            height: 35px; 
            width: 100px;
        }
    </style>
    <script>
        window.onload = function() {
            // 用getElementsByName获取所有爱好复选框
            var aiHaoShuZu = document.getElementsByName("aiHaoName");
            
            // 获取按钮元素(页面中第四个input元素)
            var anNiuShuZu = document.getElementsByTagName("input")[3];
            
            // 为按钮添加点击事件
            anNiuShuZu.onclick = function() {
                // 判断按钮当前状态是"全选"还是"全不选"
                if(this.value == "全选") {
                    // 遍历所有爱好复选框,设置为选中状态
                    for(var i of aiHaoShuZu) {
                        i.checked = "true";
                    }
                    // 将按钮文本改为"全不选"
                    this.value = "全不选";
                }
                // 如果当前是"全不选"状态
                else if(this.value == "全不选") {
                    // 遍历所有爱好复选框,取消选中状态
                    for(var i of aiHaoShuZu) {
                        i.checked = "";
                    }
                    // 将按钮文本改回"全选"
                    this.value = "全选";
                }
            }
        }
    </script>
</head>
<body>
    <input type="checkbox" name="aiHaoName" />足球
    <input type="checkbox" name="aiHaoName" />篮球
    <input type="checkbox" name="aiHaoName" />乒乓球
    <input type="button" value="全选"  />
</body>
</html>

关键技术点解析

  1. 元素获取方法

    • 使用getElementsByName("aiHaoName")获取所有爱好复选框,因为它们有相同的name属性
    • 使用getElementsByTagName("input")[3]获取按钮元素,通过索引定位到第四个input元素
  2. 复选框状态控制

    • 复选框的checked属性用于控制其选中状态
    • 设置checked = "true"使复选框处于选中状态
    • 设置checked = ""(空字符串)使复选框处于未选中状态
  3. 按钮事件处理

    • 使用onclick为按钮绑定点击事件
    • 通过this.value获取按钮当前的文本值,判断当前状态
    • 根据当前状态切换按钮文本("全选"和"全不选"之间切换)
  4. 循环遍历

    • 使用for...of循环遍历所有复选框元素
    • 在循环中统一设置所有复选框的选中状态

功能扩展思路

  1. 可以添加"反选"功能,即点击后选中所有未选中的选项,取消所有已选中的选项
  2. 可以实时判断是否所有选项都已选中,如果是则自动将按钮文本改为"全不选"
  3. 可以添加选项数量统计功能,显示当前选中了多少项
  4. 可以通过CSS美化界面,让复选框和按钮的样式更美观

这个案例展示了如何通过JavaScript操作表单元素,特别是复选框的状态控制,是表单交互中常见的功能实现方式。


网站公告

今日签到

点亮在社区的每一天
去签到