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

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日

相关文章

  • document.getElementById的简写方式(获取id对象的简略写法)

    获取id对象是JavaScript常见的操作之一,而document.getElementById是获取id对象的常用方式。但是,在书写代码的过程中,为了方便,我们常常使用id对象的简略写法。 1. 通用的文档对象模型(DOM): 通常情况下,获取文档对象模型中的元素需要使用document.getElementById方法。该方法接受一个字符串参数,代表要…

    JavaScript 2023年6月10日
    00
  • Javascript原生ajax请求代码实例

    下面我会详细讲解“JavaScript原生ajax请求代码实例”的完整攻略。 什么是ajax请求? Ajax(Asynchronous JavaScript and XML)即异步JavaScript和XML,是指利用JavaScript的异步通信机制达到异步更新网页的技术。通过Ajax技术,实现了网页异步请求数据,而不是同步刷新页面。 发送Ajax请求的步…

    JavaScript 2023年6月11日
    00
  • javascript 出生日期和身份证判断大全

    Javascript 出生日期和身份证判断大全 简介 本文主要讲解了如何使用Javascript判断身份证号和出生日期是否符合标准。 身份证号判断 校验规则 中国大陆的身份证号码是由18位数字组成的。最后一位为校验位,前17位为身份证号码的主体部分。其中,第1-2位为行政区划代码,第3-6位为出生年份(用4位数字表示),第7-10位为出生月份和日期(用2位数…

    JavaScript 2023年5月27日
    00
  • javascript 建设银行登陆键盘

    JavaScript 建设银行登录键盘是一个非常常见的前端实现方法,在一些特殊场景下可以有效地保护用户的登录信息泄露。下面是一份完整的攻略。 步骤一:HTML 结构 首先,我们需要创建一个基本的 HTML 结构来呈现登录页面和键盘。以下是基本的 HTML 结构: <form id="loginForm"> <div&gt…

    JavaScript 2023年6月11日
    00
  • JS原型prototype和__proto__用法实例分析

    来讲一下JS原型prototype和__proto__用法的攻略。 1. 前置知识 在开始之前,需要了解一些前置知识: JavaScript中所有对象的原型都是 Object.prototype,它包含了常用的方法如 toString()、valueOf() 等。 每个 JavaScript 对象都有一个 __proto__ 属性,指向它的原型对象。这个属性…

    JavaScript 2023年6月10日
    00
  • jqeury eval将字符串转换json的方法

    当我们从后端获取JSON格式的字符串时,需要将其转换成JS对象进行操作和渲染。jQuery中提供了一个eval()方法,可以将JSON格式的字符串转换为JS对象。 以下是将字符串转换为JSON对象的代码演示: // 字符串 var jsonString = ‘{"name": "Lucy", "age&quo…

    JavaScript 2023年5月27日
    00
  • JS中判断某个字符串是否包含另一个字符串的五种方法

    下面我会给您详细讲解JS中判断某个字符串是否包含另一个字符串的五种方法,并提供相应代码示例进行说明。 方法一:使用indexOf indexOf函数在判断字符串包含的时候是最常用的方法之一,它返回的值为所查找的字符串首次出现的位置,如果没有找到则返回-1。 let str1 = "hello world"; let str2 = &quo…

    JavaScript 2023年5月28日
    00
  • 用JS写的简单的计算器实现代码

    下面是用JS写的简单的计算器实现的完整攻略,包含两条示例说明。 标题 用JS写的简单的计算器实现代码 环境准备 在开始实现计算器之前,需要准备好以下环境: 浏览器:比如Chrome、Firefox等主流浏览器。 HTML文件:用于显示计算器界面和加载JS文件。 JS文件:用于编写实际的计算器代码。 计算器的HTML界面 首先,需要编写计算器的HTML界面。下…

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