实现checkbox全选、非全选、单选

摘要:
全局选择和单选之间有两种关系:1.当我选择所有单选选项时,应选择全选。2.当我取消单个选择时,应取消全选。如果全局选择和单个选择之间没有关系,将出现以下两种情况:代码实现:<div><ul><li><!

全局选择与单选有以下两点关系:

1、当我把所有单选都选择上的时候,全选应该是被选择状态

2、当我取消一个单选时,全选应该是取消的状态

如果不存在全局选择与单选之间的关系,则会出现如下两图情况:

实现checkbox全选、非全选、单选第1张

代码实现:(为了更清晰方便,所以只有复选框,可以根据自己需要进行修改)

<div>
  <ul>
    <li> 
      <!--全选-->
      <input type="checkbox"id="all"class="parent_check">全选</li>
  </ul>
</div>
<div class="dataBox">
  <ul >
    <li >
      <input type="checkbox"id="checkbox_1"class="son_check">
    </li>
  </ul>
  <ul >
    <li >
      <input type="checkbox"id="checkbox_2"class="son_check">
    </li>
  </ul>
<div>
$(function () {
    //全局的checkbox选中和未选中的样式
    $parentChexbox = $('.parent_check'), //全选
    $dataBox = $('.dataBox'),            //用于判断全局与子类的关系
    $sonCheckBox = $('.son_check');      //单个子类选中
 
    //全局全选与单个的关系
    $parentChexbox.click(function () {
        var $checkboxs = $dataBox.find('input[type="checkbox"]');
        if ($(this).is(':checked')) {
            $checkboxs.prop("checked", true);
        } else {
            $checkboxs.prop("checked", false);
        }
    });
    
    $sonCheckBox.each(function () {
        $(this).click(function () {
            if ($(this).is(':checked')) {
                //判断:所有单个是否勾选
                var len = $sonCheckBox.length;
                var num = 0;
                $sonCheckBox.each(function () {
                    if ($(this).is(':checked')) {
                        num++;
                    }
                });
                if (num == len) {
                    $parentChexbox.prop("checked", true);
                }
            } else {
                //单个取消勾选,全局全选取消勾选
                $parentChexbox.prop("checked", false);
            }
        })
    })
});

免责声明:文章转载自《实现checkbox全选、非全选、单选》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇定时执行任务,发送带excel附件及excel内容展示邮件IOS5,6,7不同版的适配. 强制旋转和自动旋转.下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

微信小程序开发笔记(上)

Ø简介 本文主要记录微信小程序的开发笔记(上),主要包括以下内容: 1.微信小程序基础 2.布局 3.视图容器 4.视图层技术 5.基础组件 6.表单组件 1.微信小程序基础 1)微信小程序介绍 具有出色的体验,可以被便捷地获取与传播,适合有服务内容的企业和组织注册。 2)开发环境安装与配置 1.首先,下载开发IDE(微信开发者工具) https://...

完全使用css编写复选框

在日常的项目中,出现复选框或者单选框,应该都属于常见需求了,最开始阶段,一般只有两种可能性: 一、完全使用 <input type="checkbox" />或者<input type="radio" />完成复选框和单选框,如此,就必须接受不同的浏览器对input[type=checkbox]或者input[type=radio]...

el-table表格树状图复选框全选问题

应用场景 表格数据有层级关系,需要用到表格的树状图结构!!!,同时,可全选表格数据,跟全勾选子节点数据,效果如下 实现方法 根据element官网实现,实现完,发现树形表格加复选框后,子结构无法选中的问题。于是在table上监听点击和全选,根据数据有子节点来手动切换选中与否。 解决方法如下: template如下: <el-table ref=...

EasyUi datagrid列表增加复选框

本文为博主原创,未经允许不得转载 1.增加复选框列 { field: 'oid', title: '<input type="checkbox" name="selectRadioList" checked= true onchange="selectAll()"/>', 28, formatter: function(val...

Python——GUI编程 控件及常用信号

QSlider类中的常用信号 valueChanged: 当滑块位置发生改变时触发此信号 sliderPressed: 当用户按下滑块时触发此信号 sliderMoved: 当用户拖动滑块时触发此信号 sliderReleased: 当用户释放滑块时触发此信号 QCmoboBox类中的常用信号 Activated: 当用户选中一个下拉选项时触发该信号cur...

jQuery获取Select选择的Text和Value(详细汇总)

语法解释:  1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text 3. var checkVa...