一、情景:

  1. 【全选/取消按钮】点击全选后,下面的子复选框全部选中。
  2. 【全选/取消按钮】点击取消全选后,下面的子复选框全部取消选中。
  3. 当所有【子复选框按钮】点击选中后,【全选/取消按钮】自动勾选为选中状态。
  4. 当某个【子复选框按钮】点击取消选中后,【全选/取消按钮】自动取消勾选状态。

1、 gif 示意图:

1、html 复选框

<table>
 <thead>
        <th>序号<input type="checkbox" class="loginName" id="all"></th>
        <th>员工号</th>
        <th>用户名称</th>
</thead>
<tbody id="checklist">
   <g:each in="${users}" var="user" status="index">
          <tr class='table-c' userId="${user.id}" userName="${user.name}">
                <td>${index + 1}
                     <input type="checkbox" name="loginName" class="loginName"  value="${user.id}" >
                <td>${user.loginName}</td>
                <td>${user.name}</td>
   </g:each>
</tbody>
</table>
 

注意:全选框ID:all ; 子复选框最外层的ID 为:chekclist

2、Jquery 放到页面底部

<script>
$(function(){
          /*全选按钮状态显示判断*/
      $("#checklist").find("input[type='checkbox']").click(function(){
           /*初始化选择为TURE*/
           $("#all")[0].checked = true;
           /*获取未选中的*/
           var nocheckedList = new Array();
           $("#checklist").find('input:not(:checked)').each(function() {
               nocheckedList.push($(this).val());
           });
           /*状态显示*/
           if (nocheckedList.length == $("#checklist").find('input').length) {
               $("#all")[0].checked = false;
           }else if(nocheckedList.length ==0){
               $("#all")[0].checked = true;
           }else if(nocheckedList.length){
               $("#all")[0].checked = false;
     });
     // 全选/取消
    $("#all").click(function(){
       // alert(this.checked);
        if ($(this).is(':checked')) {
               $("#checklist").find('input').each(function(){
                    $(this).prop("checked",true);
               });
         } else {
              $("#checklist").find('input').each(function(){
                    $(this).removeAttr("checked",false);
                    // 根据官方的建议:具有 true 和 false 两个属性的属性,
                    // 如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
                    $(this).prop("checked",false); 
              });
   });
});
</script>

参考文档:
1、《
复选框全选与取消以及checkbox的第三种状态属性 – indeterminate》:文档非常详细生动的说明了关于复选框的问题。本篇笔记,就是参照他的博文,非常感谢作者。

文章目录一、情景:1、 gif 示意图:二、代码1、html 复选框2、js 放到页面底部一、情景:【全选/取消按钮】点击全选后,下面的子复选框全部选中。【全选/取消按钮】点击取消全选后,下面的子复选框全部取消选中。当所有【子复选框按钮】点击选中后,【全选/取消按钮】自动勾选为选中状态。当某个【子复选框按钮】点击取消选中后,【全选/取消按钮】自动取消勾选状态。1、 gif 示意图... 要求1:点击全选按钮,让下面所有人名前的checkbox的选中状态和全选的一致 要求2:点击反选按钮,所有人名前的checkbox的选中状态取反 要求3:点击所有人名前的checkbox,判断全选的选中状态 代码块如下 加注释 <!DOCTYPE html> <html lang="en"> <meta char... $("#order_opt_allinput").prop("checked",true);//勾选 $("#order_opt_allinput").prop("checked",false);//取消勾选 第二种方式: $("#order_opt_allinput").attr('checked', 'checked');//勾选 $("#order_opt_allinput").removeAttr('checked');//取消勾选
Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)
if (arg1 == Qt::Unchecked) { ui->checkBox1->setChecked(false); ui->checkBox2->setChecked(false); ui->checkBox3->setChecked(false); // ... } else if (arg1 == Qt::Checked) { ui->checkBox1->setChecked(true); ui->checkBox2->setChecked(true); ui->checkBox3->setChecked(true); // ... 3. 将所有需要控制的复选框的stateChanged信号连接到该槽函数上。例如: ```cpp connect(ui->checkBoxAll, SIGNAL(stateChanged(int)), this, SLOT(on_checkBoxAll_stateChanged(int))); 这样,当全选复选框的状态发生变化时,槽函数会自动调用,从而控制所有相关复选框的选中状态。