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

  • 相关阅读:
    Java异常处理
    冒泡排序法
    21个项目-MNIST机器学习入门
    Hadoop集群搭建中ssh免密登录
    利用奇异值分解简化数据
    数据集中空值替换成对应特征的平均值
    PCA降维处理
    使用FP-growth算法高效发现频繁项集
    原生js---ajax---post方法传数据
    原生js---ajax---get方法传数据
  • 原文地址:https://www.cnblogs.com/XCWebLTE/p/6951991.html
Copyright © 2011-2022 走看看