05利用jquery实现复选框(checkbox)全选/反选功能

checkbox全选/反选功能

如下界面是基于layUI提供的结构与样式,所以要提前引入对应的架构包文件


image.png

HTML结构如下:

<form class="layui-form">
            <div class="layui-form-item">
                <div class="layui-input-block" style="margin-left:10px;">
                    <div class="">
                        <ul id="choose" class="stationlist">
                            <li><input type="checkbox" name="like[QX]" lay-skin="primary" value="全选/反选" title="全选/反选"></li>
                        </ul>
                    </div>
                    <ul id="stationlist" class="query-criteria stationlist">
                        <li><input type="checkbox" name="like[HSYC]" lay-skin="primary" value="选项1" title="选项1"></li>
                        <li><input type="checkbox" name="like[HSYC]" lay-skin="primary" value="选项2" title="选项2"></li>
                        <li><input type="checkbox" name="like[HSYC]" lay-skin="primary" value="选项3" title="选项3"></li>
                        <li><input type="checkbox" name="like[HSYC]" lay-skin="primary" value="选项4" title="选项4"></li>
                        <li><input type="checkbox" name="like[HSYC]" lay-skin="primary" value="选项5" title="选项5"></li>
                        <li><input type="checkbox" name="like[HSYC]" lay-skin="primary" value="选项6" title="选项6"></li>
                        <li><input type="checkbox" name="like[HSYC]" lay-skin="primary" value="选项7" title="选项7"></li>
                        <li><input type="checkbox" name="like[HSYC]" lay-skin="primary" value="选项8" title="选项8"></li>
                    </ul>
                </div>
            </div>
        </

JS实现全选/反选的控制代码如下:

        <script src="js/jquery-3.2.0.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="lib/layui/layui.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            layui.use(['form'], function() {
                var form = layui.form;
                chechboxChooseAll(); //调用方法
            });
            function chechboxChooseAll() {
                //全选/反选
                $('#choose').on('click', 'li', function() {
                    $("input:checkbox[name='like[HSYC]']").prop("checked", true);
                    layui.form.render('checkbox');
                    //反选
                    if($("input:checkbox[name='like[QX]']").prop("checked") == false) {
                        var item = $("input:checkbox[name='like[HSYC]']");
                        for(var i = 0; i < item.length; i++) {
                            if(item[i].checked == true) {

                                $("input:checkbox[name='like[HSYC]']").prop("checked", false);
                                layui.form.render('checkbox');
                            }
                        }
                    }
                });
            }
        </script>

效果图:


全选状态.png

反选状态.png
获取全选中的checkboxvalue值 并存入数组
                     
           var paramNameArr = []; //将选中的复选框的值 填入空数组中
            $("input:checkbox[name='like[HSYC]']:checked").each(function() {
                paramNameArr.push($(this).val());
            });
            console.log(paramNameArr);
获取选中的值.png
获取全选中的checkboxvalue值 并拼接成字符串
var paramNameArr=""; //定义空的字符串 便于下面的拼接
for(var f = 0; f < paramNameArr.length; f++) {

                paramNameStr += paramNameArr[f] + ","
                    }

                    paramNameStr = paramNameStr.substring(0, paramNameStr.length - 1); //截取 并去掉最后一位

                    console.log(paramNameStr);

如下面的图所示


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,515评论 2 59
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,359评论 25 709
  • “那片星空那片海”,久久走不出里面的人鱼爱情故事。抛开故事情节不说,作者桐华的文笔,处处都体现深厚的文华底蕴,塑造...
    笨歪歪阅读 1,279评论 0 0
  • 回想一下往事,每当生活不如意,无不是责备过去而寄希望于未来,唯独忽略了现在;感受“正念的奇迹”后,觉得生活就应...
    煅句阅读 3,325评论 0 1
  • 作业交晚了,今天才完成,虽然老是不满意,但终于坚持完成了全部课程,完成了全部作业。
    oh风行水上阅读 1,490评论 2 4

友情链接更多精彩内容