jQuery 实现全选多选反选

Posted Yan Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery 实现全选多选反选相关的知识,希望对你有一定的参考价值。

jQuery 实现全选、多选、反选

学习内容:

需求

jQuery 实现全选、多选、反选

实现代码

<!DOCTYPE html>
<html lang="en">
<head>
<<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>全选</title>
<script type="text/javascript" src="/static/jQuery-1.11/jquery-1.11.3.min.js">
</script>

    <script>
        function checkChange(src) {
            // 根据被点击的复选框,来决定下面这些爱好的复选框的选中状态
            var checked = $(src).prop('checked');
            checkAll(checked);
        }
        function checkAll(flag) {
            $('[name=hobby]').prop('checked', flag);
            // 点击全选按钮的时候,最上面复选框要选中
            // 点击全不选按钮的时候,最上面复选框不要选中
            $('#checkAll').prop('checked', flag);
        }
        // 反选
        function checkUnAll() {
            $('[name=hobby]').each(function (i, domEle) {
                // 获取其选中状态
                var oldValue = $(domEle).prop('checked');
                // 取反
                var newValue = !oldValue;
                // 再设置回去
                $(domEle).prop('checked', newValue);
                // $(domEle).prop('checked', !$(domEle).prop('checked'));
            });
            // 点击反选,若爱好全选中,最上面复选框要选中,反之不要选中
            check();
        }
        $(function () {
            // 点击所有爱好复选框,若爱好全选中,最上面复选框要选中,反之不要选中
            $('[name=hobby]').click(function () {
                check();
            });
        });
        function check() {
            var total = true; // 统计
            $('[name=hobby]').each(function (i, domEle) {
                var checked = $(domEle).prop('checked'); // 取每个爱好选中状态值
                total = total && checked; // 跟变量 total 与并设置存到变量 total 中
            });
            // 当遍历结束的时候,total 值仍是 true, 那么代表所有爱好复选框是选中的
            $('#checkAll').prop('checked', total);
        }
    </script>
</head>
<body>
请选择你的爱好:<br/>
<input type="checkbox" onchange="checkChange(this)" id="checkAll"/>全选/全不选
<br/>
<div>
    <input type="checkbox" name="hobby"/>JAVA&nbsp;
    <input type="checkbox" name="hobby"/>打篮球&nbsp;
    <input type="checkbox" name="hobby"/>上网&nbsp;
    <input type="checkbox" name="hobby"/>撩妹&nbsp;
</div>
<div>
    <input type="button" id="btn_checkAll" onclick="checkAll(true)"
           value="全选"/>
    <input type="button" onclick="checkAll(false)" value="全不选"/>
    <input type="button" onclick="checkUnAll()" value="反选"/>
</div>
</body>
</html>

总结:

以上就是用 jQuery 实现全选、多选、反选,代码的简单实现了,仅供参考,欢迎讨论交流。

以上是关于jQuery 实现全选多选反选的主要内容,如果未能解决你的问题,请参考以下文章

jquery实现全选,取消,反选

js实现多选全选反选取消选择(篇一)

js实现多选全选反选取消选择(篇一)

js实现多选全选反选取消选择(篇一)

超实用多选框 checkbox 功能——全选不选反选等功能的数据驱动 JS 实现

angularjs 全选反选