单选多选

Posted yang656

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单选多选相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>

    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background: linear-gradient(#A1E6E9 0%, #fff 100%) no-repeat;
            min-height: 400px;
        }

        .wrap {
            width: 500px;
            margin: 30px auto;
            background: #fff;
            border-radius: 4px;
            box-shadow: 0, 0, 10px #5ab1fd;
            padding: 30px;
        }

        .types .active {
            line-height: 32px;
            border: 2px solid #de4965
        }

        .selects {
            padding: 40px 0 0 0;
        }

        a {
            display: inline-block;
            height: 30px;
            line-height: 30px;
            text-align: center;
            color: #5ab1fd;
            border: 2px solid #5ab1fd;
            padding: 0 25px;
            cursor: pointer;
        }
        .selects a{
            display:inline-block;
            height: 30px;
            line-height: 30px;
            text-align: center;
            border: 2px solid #d7d7d7;
            padding: 0 25px;
            position: relative;
        }
        .selects .active{
            border:2px solid #5AB1FD;
            color:#5AB1FD;
        }
        .select1 .active:after{
            content:"√";
            color:#fff;
            line-height:20px;
            height:20px;
            width:20px;
            border-radius:50%;
            background:#5AB1FD;
            position:absolute;
            right:-5px;
            top:-5px;
        }
        .select2 .active:after{
            content:"√";
            color:#fff;
            line-height:20px;
            height:15px;
            width:15px;
            background:linear-gradient(to right bottom,#fff 0%, #fff 50%, #5AB1FD 50%, #5AB1FD 100%) no-repeat;
            position:absolute;
            right:0px;
            bottom:0px;
            padding:2px 0 0 8px;
        }

    </style>
</head>

<body>
   <div class="wrap">
       <div class="types">
            <a class="active">单选</a>
            <a>多选</a>
       </div>
       <div class="content">
            <div class="selects select1">
                <a class="active">男</a>
                <a >女</a>
                <a >保密</a>
            </div>
            <div class="selects select2" style="display:none">
                <a class="active">呆萌小姐姐</a>
                <a>吃货小姐姐</a>
                <a>逗比小姐姐</a>
                <a>最美小姐姐</a>
            </div>
       </div>
   </div>

    <script>
        var types = document.getElementsByClassName(‘types‘)[0].getElementsByTagName(‘a‘);
        var selects = document.getElementsByClassName(‘selects‘);
        var select1 = selects[0].getElementsByTagName(‘a‘);
        var select2 = selects[1].getElementsByTagName(‘a‘);

        //单选多选切换
        for(var i=0;i<types.length;i++){
            types[i].index = i;//通过序号将index属性存起来
            types[i].onclick = function(){
                var index = this.index;
                for(var j=0;j<types.length;j++){
                    types[j].className=‘‘;
                    selects[j].style.display=‘none‘ // 选择框隐藏
                }
                types[index].className = ‘active‘;
                selects[index].style.display = ‘block‘
            }
        }
        // 单选
       for(var i=0;i<select1.length;i++){
           select1[i].index=i;
           select1[i].onclick=function(){
               var index=this.index;
               for(var j=0;j<select1.length;j++){
                   select1[j].className=‘‘
               }
               select1[index].className=‘active‘
           }
       }
       // 多选
       for(var i=0;i<select2.length;i++){

           select2[i].index = i;
           console.log(11)
           select2[i].onclick=function(){
          
               var index=this.index;
               if(this.className==‘active‘){
                   this.className=‘‘
               }else{
                   this.className=‘active‘
               }
              // this.className = this.className ? "" : "active";
           }
       }
    </script>
</body>
</html>

 

以上是关于单选多选的主要内容,如果未能解决你的问题,请参考以下文章

单选多选

vue单选多选,文本域,选择框

java 通用单选多选列表(RecyclerView)

单选多选样式写法

IT小鲜肉 Widgets Tree 单选多选相关回调函数获取选中的节点功能

android -------- 流式布局,支持单选多选等