zoukankan      html  css  js  c++  java
  • 自定义的好看的单选复选框功能

    如图,和大家分享一下自定义的单选复选框,自己写,不从网上找了。

    前端的html页面结构:

    <div class="mutli">
                                        <ul>
                                            <li><input type="checkbox" id="1" class="checkAll"><label for="1">全选</label></li> 
                                            <li><input type="checkbox" id="2" class="checkItem"><label for="2">一级甲等</label></li> 
                                            <li><input type="checkbox" id="3" class="checkItem"><label for="3">一级乙等</label></li> 
                                            <li><input type="checkbox" id="4" class="checkItem"><label for="4">一级丙等</label></li> 
                                            <li><input type="checkbox" id="5" class="checkItem"><label for="5">二级甲等</label></li> 
                                            <li><input type="checkbox" id="6" class="checkItem"><label for="6">一级乙等</label></li> 
                                        </ul>
                                    </div>
                                    <div class="singleli">
                                        <ul>
                                            <li><input type="checkbox" id="11" class="singleItem"><label for="11">进口药</label></li>
                                            <li><input type="checkbox" id="22" class="singleItem"><label for="22">国产药</label></li>
                                            <li><input type="checkbox" id="33" class="singleItem"><label for="33">私营药</label></li>
                                            <li><input type="checkbox" id="44" class="singleItem"><label for="44">公共药</label></li>
                                            <li><input type="checkbox" id="55" class="singleItem"><label for="55">什么药1</label></li>
                                            <li><input type="checkbox" id="66" class="singleItem"><label for="66">什么药2</label></li>
                                        </ul>
                                    </div>
    

    <div class="multi"/>里面的是复选框布局,对应的下面的<div class="singleli"/>里是单选框布局。

    下面贴上css

    /*自定义多选框以及单选框样式*/
    .mutli li,.singleli li {
        float: left;
        margin-right: 6px;
    }
    
    .mutli input[type="checkbox"], .singleli input[type="checkbox"] {
        display: inline-block;
         auto;
    }
    
    .mutli label, .singleli label{
        vertical-align: middle;
        margin: 0px 5px 0px 0;
        padding: 3px 15px;
        border: 1px solid #eee;
        background-color: #fff;
        cursor: pointer;
        color: #006fbc;
        display: inline-block;
        margin-left: -18px;
    
    }
    
    .mutliArrow {
        border: solid 2px #1e99c7;
        padding: 2px 14px;
        background: url(../image/bottomArrow.png) no-repeat right bottom;
    }
    

    还有个背景图     你右击保存到桌面就可以了  

    接下来就是js了。

     //自定义复选框的点击事件实现
                    $(".mutli input:checkbox").click(function () {//自定义复选框的点击事件
                        var _this = $(this),
                            label = _this.siblings("label");
                        label.hasClass('mutliArrow') ? label.removeClass('mutliArrow') : label.addClass('mutliArrow');//三目结构写判断
                        if (_this.hasClass("checkAll")) {//全选事件
                            var siblingsLis= _this.parent("li").siblings("li");
                            label.hasClass('mutliArrow') ? siblingsLis.find('input:not(":checked")').prop("checked", true).siblings('label').addClass('mutliArrow') : siblingsLis.find('input:checked').prop("checked", false).siblings('label').removeClass('mutliArrow');
                        } else {
                           $(".checkAll").removeAttr("checked").siblings("label").removeClass("mutliArrow");
                        }
                    })
                    //自定义单选框的点击事件实现
                    $(".singleli input:checkbox").click(function () {
                        var $this = $(this),
                            label = $this.siblings('label'),
                            siblingsLis = $this.parent('li').siblings('li');
                        label.hasClass('mutliArrow') ? label.removeClass('mutliArrow') : label.addClass('mutliArrow');
                        siblingsLis.find('input:checked').prop("checked", false).siblings('label').removeClass('mutliArrow');
                    })

    好了,自定义的好看的单选复选框小功能就算是完成了。

                  金木·晨         2017-06-06 15:51:11

  • 相关阅读:
    Count and Say leetcode
    Find Minimum in Rotated Sorted Array II leetcode
    Find Minimum in Rotated Sorted Array leetcode
    Search in Rotated Sorted Array II leetcode
    search in rotated sorted array leetcode
    Substring with Concatenation of All Words
    Subsets 子集系列问题 leetcode
    Sudoku Solver Backtracking
    Valid Sudoku leetcode
    《如何求解问题》-现代启发式方法
  • 原文地址:https://www.cnblogs.com/XCWebLTE/p/6951991.html
Copyright © 2011-2022 走看看