[html] 自定义的下拉多选

最近项目需求中有一些地方需要使用到类似winfrom中的下拉多选的控件,在网上搜了一堆,发现并不能满足我的需求,

通过将html <select>标签的multiple 设置为multiple 这个点击的时候需要通过ctrl + 鼠标左键 而且不同的浏览器的效果也有区别

所以自己写一个记下来   

<!DOCTYPE html>

<html lang="" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <link href="" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="jquery-3.3.1.min.js"></script>
    <title></title>
    <style>
        .cus-mu-select{
            list-style: none;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 99;
            padding: 5px 0;
            min-width: 80px;
            margin: 0;
            display: none;
            font-family: "微软雅黑";
            font-size: 14px;
            background-color: #fff;
            border: 1px solid rgba(0, 0, 0, .15);
            box-sizing: border-box;
            border-radius: 4px;
            -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }
    </style>
    <script>
        $(document).ready(function () {
            $("#device-filter").click(function (){
                var selec = $("#device-filter");
                $("#device-filter-sub-item").css({"display": "block",
                "top": selec.offset().top + parseInt(selec.css("height")) + 5 + "px",
                "width": selec.css("width"),
                "left": selec.offset().left + "px"});
            });
            $("#btn-filter-ok").click(function(){
                $("#device-filter").val('');
                $("#device-filter-sub-item").find("input[type='checkbox']").each(function(){
                    if($(this).prop("checked")){
                        $("#device-filter").val($("#device-filter").val() + ($("#device-filter").val() == "" ? "" : ",") + $(this).val())
                    }
                });
                $("#device-filter-sub-item").css({"display": "none"})
            });
        });
    </script>
</head>
<body>
    <input readonly='readonly' id="device-filter"/><button id="btn-filter-ok">确定</button>
    <div class='cus-mu-select' id="device-filter-sub-item">
        <li><label><input type="checkbox" value="DR|DR-1"/>DR|DR-1</label></li>
        <li><label><input type="checkbox" value="MR|MR-1"/>MR|MR-1</label></li>
    </div>
</body>
</html>

 

 

 

这个里面也有一个不错的 但是没怎么细看 select 下拉框多选,用select代替checkbox http://www.freejs.net/demo/524/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值