jQuery实现表单全选、全不选以及反选的功能

android+音乐节拍检测,科学网—音乐节拍跟踪或音乐节拍检测软件,LilyBeats alpha - 石自强的博文... 我们设计并实现了一种用于实时跟踪音乐节拍的软件。该软件可以用于智能灯方案提供商,为其提供灯光随音乐变化的核心解决方案。首先给出软件的下载链接:或者音乐节拍是乐曲中表示固定单位时值和强弱规律的组织形式,亦称拍子。它有两个特性:周期性和连续性。节拍周期性表现为节拍结构,是乐曲中周期性出现的节奏序列。节拍连续性表现为音乐的平均速度,其单位为bpm(beat per minute每分钟音乐节拍的个数)。音... 阅读详情

本文主要介绍了利用jQuery实现表单的全选、全不选以及反选的功能。

对如下的form表单:

<!-- HTML结构 -->
<form id="test-form" action="test">
    <legend>请选择想要学习的编程语言:</legend>
    <fieldset>
        <p><label class="selectAll"><input type="checkbox"> <span class="selectAll">全选</span><span class="deselectAll">全不选</span></label> <a href="#0" class="invertSelect">反选</a></p>
        <p><label><input type="checkbox" name="lang" value="javascript"> JavaScript</label></p>
        <p><label><input type="checkbox" name="lang" value="python"> Python</label></p>
        <p><label><input type="checkbox" name="lang" value="ruby"> Ruby</label></p>
        <p><label><input type="checkbox" name="lang" value="haskell"> Haskell</label></p>
        <p><label><input type="checkbox" name="lang" value="scheme"> Scheme</label></p>
        <p><button type="submit">Submit</button></p>
    </fieldset>
</form>

绑定合适的事件处理函数,实现以下逻辑:

当用户勾上“全选”时,自动选中所有语言,并把“全选”变成“全不选”;

当用户去掉“全不选”时,自动不选中所有语言;

当用户点击“反选”时,自动把所有语言状态反转(选中的变为未选,未选的变为选中);

当用户把所有语言都手动勾上时,“全选”被自动勾上,并变为“全不选”;

当用户手动去掉选中至少一种语言时,“全不选”自动被去掉选中,并变为“全选”。

这里写图片描述

'use strict';

var
    form = $('#test-form'),
    langs = form.find('[name=lang]'),
    selectAll = form.find('label.selectAll :checkbox'),
    selectAllLabel = form.find('label.selectAll span.selectAll'),
    deselectAllLabel = form.find('label.selectAll span.deselectAll'),
    invertSelect = form.find('a.invertSelect');

// 重置初始化状态:
form.find('*').show().off();
form.find(':checkbox').prop('checked', false).off();
deselectAllLabel.hide();
// 拦截form提交事件:
form.off().submit(function (e) {
    e.preventDefault();
    alert(form.serialize());
});

//以下是重点:
selectAllLabel.click(function(){//当用户勾上“全选”时,自动选中所有语言,并把“全选”变成“全不选”;
    langs.prop('checked',true);
    selectAllLabel.hide();
    deselectAllLabel.show();
});

deselectAllLabel.click(function(){//当用户去掉“全不选”时,自动不选中所有语言;
    langs.prop('checked',false);
    deselectAllLabel.hide();
    selectAllLabel.show();
});

invertSelect.click(function(){//当用户点击“反选”时,自动把所有语言状态反转(选中的变为未选,未选的变为选中);
    langs.map(function(){
       $(this).prop('checked',!$(this).prop('checked'));
    });
});

langs.map(function(){
   $(this).change(function(){//当用户把所有语言都手动勾上时,“全选”被自动勾上,并变为“全不选”;
        if($('[name=lang]:checked').length==5){
            selectAll.prop('checked',true);
            selectAllLabel.hide();
            deselectAllLabel.show();
        }else{//当用户手动去掉选中至少一种语言时,“全不选”自动被去掉选中,并变为“全选”。
            selectAll.prop('checked',false);
            selectAllLabel.show();
            deselectAllLabel.hide();
        }
    });
}); 

福利补充:以下是某大神的解决方案,仅供参考。

function updateLabel() {
  let allChecked = langs.filter(':checked').length === langs.length

  selectAll.prop('checked', allChecked)
  if (allChecked) {
    selectAllLabel.hide()
    deselectAllLabel.show() 
  } else {
    selectAllLabel.show()
    deselectAllLabel.hide() 
  }
}

selectAll.change(function(e) {
  langs.prop('checked', $(this).is(':checked'))
  updateLabel()
})

invertSelect.click(function(e) {
  langs.click()
})

langs.change(() => updateLabel())
化工管道设计软件:CAESAR II二次开发_(6).API接口与函数库 自定义函数库是开发者根据特定需求编写的函数集合。这些函数可以扩展CAESAR II的功能,实现更复杂的管道设计任务。自定义函数库通常需要开发者具备一定的编程基础,能够理解和编写与CAESAR II接口兼容的代码。定义函数:在Python或其他编程语言中定义所需的函数。注册函数:将自定义函数注册到CAESAR II的函数库中。调用函数:在CAESAR II中调用自定义函数,实现特定功能。假设我们需要创建一个自定义函数库,用于批量修改管道节点的坐标。定义函数:在Python中定义一个函数,用于批量修改节点坐标。 阅读详情

相关推荐

荔枝派Nano内核编译

上文编译好uboot之后,想刷内核和根文件系统进去。其实官方的网盘里面,已经有打包好的系统镜像,包含所有的东西,可以直接烧录进flash或者TF卡,但是都是基于winbond芯片的,国产的xt25f128b刷进去妥妥的。所以没办法,只能自己再动手重新编译内核了。(PS:搞的我都想直接买一片w25q128换上了,有点麻烦,希望官方直接涨价或者出两版就行,不然对新手不友好啊)

木子点灯的博客 548

form表单通过find查找元素,回车自动提交

$("#form").find('input').on('keyup',function(event){ if(event.keyCode == 13){ $("#form").submit(); } });

镜水灵动 2323

rk3568 OpenHarmony4.0如何使用中文输入法

问题:rk3568开发板 OpenHarmony4.0release系统自带输入法kikaInput软件只有英文输入,不含中文输入,不方便。本文基于rk3568开发板 OpenHarmony4.0release移植了laval社区发布的开发者手机中的搜狗输入法(测试版),实现了中文输入,为OpenHarmony4.0release的其他开发板中文输入提供参考。

Devlin_的博客 2917

JavaScript-jQuery(三)事件

原文出处 :https://www.liaoxuefeng.com/事件因为JavaScript在浏览器中以单线程模式运行,页面加载后,一旦页面上所有的JavaScript代码被执行完后,就只能依赖触发事件来执行JavaScript代码。浏览器在接收到用户的鼠标或键盘输入后,会自动在对应的DOM节点上触发相应的事件。如果该节点已经绑定了对应的JavaScript处理函数,该函数就会自动调用。由于不...

仲崇峰的专栏 382

Cadence Virtuoso实战:NMOS差分放大器设计与SPICE仿真全解析

本文详细解析了使用Cadence Virtuoso设计NMOS差分放大器并进行SPICE仿真的全流程。从基础设计要点、原理图绘制到工作点分析与性能调优,提供了实用的设计技巧和常见问题解决方案,帮助工程师高效完成模拟集成电路设计。重点介绍了差分放大器的关键参数设置、饱和区优化及版图设计注意事项,适用于ADC、DAC等高性能电路开发。

weixin_28340315的博客 611

STM32新手必看:AHT20温湿度传感器实战指南(附完整I2C代码)

本文详细介绍了如何使用STM32驱动AHT20温湿度传感器,包括硬件连接、I2C通信协议解析、驱动代码优化及实战调试技巧。通过对比AHT20与DHT11、SHT30等传感器的性能,突出AHT20的高性价比优势,并提供完整的I2C代码示例,帮助新手快速上手嵌入式传感器开发。

weixin_29163857的博客 293

javascript练习代码分享(1)

对如下的Form表单 <form id="test-form" action="test"> <legend>请选择想要学习的编程语言:</legend> <fieldset> <p><label class="selectAll"><input type="checkbox"> <span class="selectAll">全选</span><span class="deselectAll

azraelxuemo的博客 395

华为设备有关用户名密码的策略配置

命令用来开启对密码进行复杂度检查功能,设备默认已经是开启状态。1、密码长度大于等于12位,含数字大小写字母和特殊符号。2、设置密码更换周期为90天。取值范围8-16,默认长度为8位。登录失败后锁定时间大于15分钟。3、登录失败次数小于5次。4、登录超时30分钟以内。

简单的创作,希望可以帮助到跟我一样的学习者! 7840

form验证表单

function validateform(){         var f = 0;     $("form").find(":input[type='text']").each(function(){          var id = $(this).attr("id");          var alt = $("#"+id).attr("alt");          var

smile725775的专栏 519

2025.06.06【Ribo-seq】|riboWaltz:P-site定位与三碱基周期性分析流程

同学们,大家好!今天我们要学习的是riboWaltz——一款专为Ribo-seq(核糖体足迹测序)数据设计的R包,主要用于P-site定位优化和三碱基周期性分析。P-site的准确定位是Ribo-seq下游所有翻译组学分析的基础,riboWaltz为我们提供了系统、可视化、易用的解决方案。P-site定位优化:自动识别不同长度RPF的最佳P-site偏移量。三碱基周期性分析:可视化RPF在CDS、UTR等区域的分布,评估数据质量。多样本/多条件支持:可同时处理多个样本,便于批量分析和对比。

1796

基于 FPGA 的 CNN 卷积神经网络之池化层 Verilog 实现

池化层是卷积神经网络(CNN)中的关键组件,用于降低特征图的维度,减少计算量和防止过拟合。常见的池化操作包括最大池化和平均池化。FPGA 提供了高效的并行处理能力,可以加速这些操作。池化层在 CNN 中扮演重要角色,通过降低数据维度提升计算效率。在 FPGA 上实现池化层,可以充分利用硬件资源实现高效的并行计算,有助于提高实时应用中的推理速度。

走向CTO的路上... 1256

jquery常用表单操作

//js将表单序列化成对象 $.fn.serializeObject = function () { var $els = $(this).find("[name]"); var formData ...

weixin_39037804的博客 181

Spring Boot入门(13):Mybatis-Plus之条件构造器使用手册:精通让你快速提高查询效率的技巧!

化繁为简,MP 中条件构造器的使用,极其详细.

**My Coding Family** 3万+

jQuery实现全选反选全不选案例

$(function(){    //全选    $("#checkAll").click(function(){     $(":checkbox").attr("checked",true);    });    //全不选    $("#checkNo").click(function(){     $(":checkbox").attr("checked",false);

郭晓湉 1636

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jquery实现复选框的全选,反选,全不选

$(function(){  //全选  $("#checkAll").click(function(){     $("input:checkbox").attr("checked",true);     });  //全不选  $("#checkNo").click(function(){     $("input:checkbox").attr("checked",false)

232

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jq 实现表单 全选不全选以及反选

廖雪峰js jq练习题 html部分 <!-- HTML结构 --> <form id="test-form" action="test"> <legend>请选择想要学习的编程语言:</legend> <fieldset> <p><label class="selectAll"><input type="checkbox"><span c

douzixh的博客 416

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jquery实现的全选反选全不选等等的效果源码

test.html:(下载测试的话是必须配置下jquery的文件的。即是: 这个语句需要修改) <!-- 引入jQuery --> $(function(){ //全选 $("#CheckedAll").click(function(){ $('[name=items]:checkbox').attr('checked', true); }); //全不选 $("#Chec

gayayzy的专栏 1574

jQuery实现全选全不选和反选

表单的全选和反选 $(function(){     $("#checkAll").click(function(){     $(":checkbox").attr("checked",true); });     $("#checkNo").click(function(){     $(":checkbox").attr("checked",false); });

hyb0852的专栏 468

jquery实现全选、反选、全不选 .

jQuery实现的全选、全不选、反选 //使用jquery加载事件 $(document).ready(function (){ //设置全选 $("#all-yes").click(function (){ $("input[name=fav]").attr("checked","checked"); }); //设置

1309

jQuery > 实现全选、全不选和反选

廖雪峰官网的jQuery例子, 实现全选、全不选和反选

qq_33067925的博客 371

用Jquery来实现全选/全不选,反选。

jQuery代码全选/全不选反选 全选/全不选 $(function() {//全选和全不选 $("#all").on("click",function() {//当我们点击按钮时 if (this.checked==true) {//如果复选框是选中的 $("input[name='id']").attr("checked","checked");//我们就让name=’id’...

Casset。 421

用jQuery实现全选-全不选-反选的功能

临近过年,刚学IT没多久的小白在这里祝大家在新的一年里:新春快乐,月月赚钱,天天开心,时时快乐,分分精彩,秒秒幸福,事事顺利 古人云:学而时习之,不亦说乎. 学习后经常温习所学的知识,也是件令人愉悦的事情. 今日复习JQuery时,想着用它来实现一下选择的功能也是很方便的. <html> <head> <meta charset...

weixin_34055910的博客 148

使用jQuery实现表单的全选、全不选、反选

大家可以去网上下载jquery-1.4.2.min.js       $(function(){  //全选  $("#checkAll").click(function(){     $("input:checkbox").attr("checked",true);     });  //全不选  $("#checkNo").click(function(){

愿记忆Tel一切安好 785

Query--checkbox全选/反选/取消

$(function(){ //全选 $("#checkall").click(function(){ $("input[name='checkbox']:checkbox").attr("checked",true); }); //全不选 $("#checkno").click(function(){ $("input[name='checkb

专注于性能调优、安全、自动化 1081

jquery表单的全选,全不选和反选

$(function(){         $("#checkAll").click(function(){             $(":checkbox").attr("checked",true);         });         $("#checkno").click(function(){             $(":checkbox").attr("checke

赵江龙的专栏 660

DOM对象forms表单操作多选框执行全选,全部选,反选操作

&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;form表单操作多选框&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;for

Byte_Dance的博客 981
上一篇: 说说JSON和JSONP
下一篇: 聊聊jQuery的扩展(插件)
刘五分
博客等级 码龄10年 15粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值