js全选实现和判断是否有复选框选中的方法

yizhihongxing

JS全选的实现可以分为两个部分:全选和全不选。下面是具体的实现方法和示例说明:

一、全选/全不选

1.1 HTML代码

在HTML代码中需要添加一个全选/全不选的复选框,和其他需要操作的复选框:

<input type="checkbox" id="checkAll">全选/全不选
<input type="checkbox" class="checkItem">选项1
<input type="checkbox" class="checkItem">选项2
<input type="checkbox" class="checkItem">选项3

1.2 JS代码

// 获取全选/全不选的复选框和其他复选框
var checkAll = document.getElementById('checkAll');
var checkItems = document.getElementsByClassName('checkItem');

// 全选/全不选复选框的点击事件
checkAll.onclick = function() {
    // 遍历所有复选框,将其状态与全选/全不选复选框一致
    for (var i = 0; i < checkItems.length; i++) {
        checkItems[i].checked = this.checked;
    }
};

// 其他复选框的点击事件
for (var i = 0; i < checkItems.length; i++) {
    checkItems[i].onclick = function() {
        // 判断是否所有复选框都被选中,是则将全选/全不选复选框也选中,否则不选中
        checkAll.checked = true;
        for (var j = 0; j < checkItems.length; j++) {
            if (!checkItems[j].checked) {
                checkAll.checked = false;
                break;
            }
        }
    };
}

通过以上代码,实现了全选/全不选和其他复选框的关联,即全选/全不选框选中后,其他复选框全部选中或全不选,其他复选框选中/取消后,全选/全不选框的状态也会对应改变。

二、判断是否有复选框选中

在页面中,可能会有某些操作需要判断是否有复选框被选中了。下面提供两个示例:

2.1 示例一

在一个表单中,需要判断是否至少选择一个复选框:

<form action="" onsubmit="return checkForm();">
    <input type="checkbox" class="checkItem">复选框1
    <input type="checkbox" class="checkItem">复选框2
    <input type="checkbox" class="checkItem">复选框3
    <button type="submit">提交</button>
</form>
function checkForm() {
    // 获取所有复选框
    var checkItems = document.getElementsByClassName('checkItem');

    // 遍历所有复选框,判断是否至少有一个被选中
    for (var i = 0; i < checkItems.length; i++) {
        if (checkItems[i].checked) {
            return true;
        }
    }

    // 如果没有复选框被选中,则返回false,阻止表单提交
    alert('请至少选择一个复选框!');
    return false;
}

通过以上代码,通过遍历所有复选框,判断它们是否被选中,如果至少有一个被选中,则返回true,允许表单提交;否则弹出提示信息并返回false,阻止表单提交。

2.2 示例二

在一个商品列表中,需要计算已选商品的总价:

<div id="goods">
    <input type="checkbox" class="checkItem" data-price="10">商品1(价格:10元)
    <input type="checkbox" class="checkItem" data-price="20">商品2(价格:20元)
    <input type="checkbox" class="checkItem" data-price="30">商品3(价格:30元)
</div>
<button onclick="calculatePrice();">计算总价</button>
<p id="totalPrice">总价:0元</p>
function calculatePrice() {
    // 获取所有复选框
    var checkItems = document.getElementsByClassName('checkItem');

    // 遍历所有复选框,累加已选商品的价格
    var totalPrice = 0;
    for (var i = 0; i < checkItems.length; i++) {
        if (checkItems[i].checked) {
            var price = parseFloat(checkItems[i].getAttribute('data-price'));
            totalPrice += price;
        }
    }

    // 将总价显示在页面上
    document.getElementById('totalPrice').innerHTML = '总价:' + totalPrice + '元';
}

通过以上代码,通过遍历所有复选框,判断它们是否被选中,如果被选中则累加已选商品的价格,并将总价显示在页面上。这个示例中使用了data-*属性来储存商品价格,也可以使用其他方式储存商品价格。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js全选实现和判断是否有复选框选中的方法 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 浅析javascript 定时器

    浅析JavaScript定时器 JavaScript的定时器指的是用来在一定时间后执行一段代码的方法。JavaScript中有两种定时器:setInterval和setTimeout。其中,setInterval表示定时执行某个函数;而setTimeout是在指定时间后只执行一次函数。 1.使用setInterval定时执行函数 setInterval()方…

    JavaScript 2023年6月11日
    00
  • JavaScript全解析——this指向

    本系列内容为JS全解析,为千锋教育资深前端老师独家创作 致力于为大家讲解清晰JavaScript相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【点个关注】持续追更~ this指向(掌握) this 是一个关键字,是一个使用在作用域内的关键字 作用域分为全局作用域和局部作用域(私有作用域或者函数作用域) 全局作用域 全局作用域中this指…

    JavaScript 2023年5月11日
    00
  • js保存当前路径(cookies记录)

    要保存当前路径,可以使用浏览器的 cookies 功能。cookies 可以将一些数据保存在用户端,当用户再次访问网站时,网站可以获取 cookies 中保存的数据。因此,我们可以将当前路径存储在 cookies 中,以便用户下次访问时可以直接跳转到上次访问的路径。 下面是实现此功能的步骤: 1. 引入 js-cookie 库 我们可以使用 js-cooki…

    JavaScript 2023年6月11日
    00
  • JavaScript面向对象的两种书写方法以及差别

    JavaScript是一种面向对象的编程语言,在JavaScript中,我们可以使用两种方法来定义对象和类。这两种方法分别是原型(Prototype)和类(Class)。它们有着不同的语法,但都有着相同的功能,即定义和创建对象。 原型(Prototype)方法 原型(Prototype)是JavaScript中的一个重要概念,它给JavaScript提供了一…

    JavaScript 2023年5月27日
    00
  • js实现简洁的滑动门菜单(选项卡)效果代码

    下面我将详细讲解“js实现简洁的滑动门菜单(选项卡)效果代码”的完整攻略。 一、需求分析 我们需要实现一个简洁的滑动门菜单效果,点击菜单选项时,显示对应的内容区域,同时将当前选项高亮显示。具体实现步骤如下: 定义html结构,包含菜单选项和对应的内容区域。 使用CSS设置菜单选项和内容区域的布局样式,使其呈现滑动门效果。 使用JavaScript实现点击事件…

    JavaScript 2023年6月10日
    00
  • Ext JS 4实现带week(星期)的日期选择控件(实战二)

    针对“Ext JS 4实现带week(星期)的日期选择控件(实战二)”这个话题,我可以给出以下的详细攻略。 1. 理解需求 在开始编写代码之前,首先要清楚需求是什么,即设计出一个带星期的日期选择控件。具体而言,这个控件需要包含以下几个元素: 日期选择器 显示星期的标签 可以选中日期的日历 响应用户选择的选中事件 2. 选择合适的 Ext JS 组件 在实现这…

    JavaScript 2023年6月10日
    00
  • javascript的防抖节流函数解析

    下面就来详细讲解“JavaScript的防抖节流函数解析”的完整攻略。 一、防抖函数 1.1 什么是防抖函数? 防抖函数是一种常用的JS功能,用于延迟搜索框或输入框等交互操作的调用时间,以提高用户的体验和性能。防抖函数会等待用户停止操作,并只在停止时才执行一次操作。 1.2 防抖函数的实现 下面是一个基本的防抖函数示例代码: function debounc…

    JavaScript 2023年6月11日
    00
  • js转义字符介绍

    JS转义字符介绍 在编写JavaScript代码时,有时需要在字符串中使用一些特殊字符,如单引号、双引号、反斜杠等。这些特殊字符如果不进行转义,会导致代码执行出错或产生意外的结果。JS提供了一些转义字符,可以帮助我们正确地表示和使用这些特殊字符。 转义字符列表 下面是JS中常用的转义字符列表: 转义字符 描述 \\ 反斜杠符号 \’ 单引号符号 \” 双引号…

    JavaScript 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部