zoukankan      html  css  js  c++  java
  • 复选框(全选/全不选/反选)

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>多选框(全选/全不选)</title>
        <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
        <style>
            ul,
            li {
                list-style: none;
            }
        </style>
    </head>
    
    <body>
        <div id="mydiv">
            <input id="button1" type="button" value="批量查岗" />
            <div id="i1">
                <ul id="list">
                    <li id="l1" class="l11" data-proCode="208" data-hostNum="1">选项一</li>
                    <li id="l2" class="l12" data-proCode="209" data-hostNum="2">选项二</li>
                    <li id="l3" class="l13" data-proCode="210" data-hostNum="3">选项三</li>
                </ul>
            </div>
        </div>
        <script>
            $(document).on('click', '#button1', function () {
                // 创建一个标签,将标签添加到指定标签里面
                var tag1 = '<input type="checkbox" name="item" />';
                $("#list li").each(function () {
                    $(this).prepend(tag1);
                });
                $("#button1").remove();
                var tag2 =
                    '<input type="checkbox" id="all"><input type="button" value="全选" class="btn" id="selectAll"><input type="button" value="全不选" class="btn" id="unSelect"><input type="button" value="反选" class="btn" id="reverse"><input type="button" value="获得选中的所有值" class="btn" id="getValue">';
                $('#mydiv').prepend(tag2);
    
            });
        </script>
    
        <!-- 多选框的全选和全不选 -->
        <script>
            $(function () {
                //全选或全不选
                $(document).on("click", "#all", function () { //$(document).on('click', '#all', function () {});这种选择器能获取动态加载的html属性
                    if (this.checked) {
                        $("#list :checkbox").prop("checked", true);
                    } else {
                        $("#list :checkbox").prop("checked", false);
                    }
                });
                //全选
                var isCheckAll = $(document).on("click", "#selectAll", function () {
                    $("#list :checkbox,#all").prop("checked", true);
                });
                //全不选
                $(document).on("click", "#unSelect", function () {
                    $("#list :checkbox,#all").prop("checked", false);
                });
                //反选
                $(document).on("click", "#reverse", function () {
                    $("#list :checkbox").each(function () {
                        $(this).prop("checked", !$(this).prop("checked"));
                    });
                    allchk();
                });
                //设置全选复选框,根据复选个数更新全选框状态
                $(document).on("click", "#list :checkbox", function () {
                    allchk();
                });
                //获取选中选项的值
                $(document).on("click", "#getValue", function () {
                    //alert(1);
                    var params = [];
                    var hosts =  $("#list :checkbox:checked");
                    if (hosts.length>0) {
                        hosts.each(function (i) {
                            var proParam = $(this).parent("li").attr("data-proCode");
                            var hostParam = $(this).parent("li").attr("data-hostNum");
                            params.push({ "proCode": proParam, "hostNum": hostParam });
                        });
                        var json = JSON.stringify(params);
                        alert(json);
                    }else{
                        alert("请至少选择主机/控制器!");
                    }
                    
                });
            });
    
            function allchk() {
                var chknum = $("#list :checkbox").length; //选项总个数
                var chk = 0;
                $("#list :checkbox").each(function () {
                    if ($(this).prop("checked") == true) {
                        chk++;
                    }
                });
                if (chknum == chk) { //全选
                    $("#all").prop("checked", true);
                } else { //不全选
                    $("#all").prop("checked", false);
                }
            }
        </script>
    </body>
    
    </html>
    

    禁用双击事件

    $('#buttonPanLeft').unbind('dblclick');
    $('#buttonPanLeft').dblclick(function(e){
        e.stopPropagation();
        e.preventDefault();
        return false;
    });
    
  • 相关阅读:
    百度笔试题:找最小的不重复数
    [置顶] 【收藏】实用软件
    指针数组与数组指针
    根据新浪天气API获取各地天气状况(Java实现)
    项目经历——EasyUI的检索和更新操作
    利用MyEclipse配置S2SH三大框架篇-Spring配置
    Intellij IDEA 最头大的问题,如何自定义注释模板?
    Spring Cloud Gateway VS Zuul 比较,怎么选择?
    Spring Boot 注册 Servlet 的三种方法,真是太有用了!
    Spring Cloud Eureka 常用配置详解,建议收藏!
  • 原文地址:https://www.cnblogs.com/wsq-blog/p/10591222.html
Copyright © 2011-2022 走看看