zoukankan      html  css  js  c++  java
  • 移动端多选插件-jquery

    <!DOCTYPE html>
    <html>

    <head>
    <meta charset="UTF-8">
    <title></title>
    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" name="viewport">
    <style>
    * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    }

    .clear::after {
    content: ".";
    clear: both;
    display: block;
    overflow: hidden;
    font-size: 0;
    height: 0;
    }

    .singleSelect .singleSelectMask {
    position: fixed;
    100%;
    height: 100%;
    top: 0;
    left: 0;
    background: black;
    opacity: .5;
    }

    .singleSelect .singleSelectContent {
    position: fixed;
    bottom: 0;
    left: 0;
    background: white;
    100%;
    font-size: 12px;
    }

    .singleSelect .fr {
    float: right;
    }

    .singleSelect .fl {
    float: left;
    }

    .singleSelect .singleSelectButton {
    padding: 10px 20px;
    border-bottom: 1px solid #ededed;
    }

    .singleSelect .selectItem {
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    }
    .selectMoreItem{
    float:left;
    30%;
    height:30px;
    line-height: 30px;
    margin-top:5px;
    text-align: center;
    border: 1px solid black;
    margin-left:2.5%;
    }

    .singleSelect .selectItemActive {
    background: #81B1FF;
    }

    .singleSelect .selectItemCon {
    height: 200px;
    overflow: auto;
    }

    .select {
    height: 40px;
    200px;
    overflow-x: hidden;
    line-height: 40px;
    position: relative;
    border: 1px solid black;
    }

    .select::after {
    pointer-events: none;
    position: absolute;
    right: 10px;
    top: 50%;
    content: "";
    display: block;
    20px;
    height: 20px;
    margin-top: -10px;
    background: url("./arrowDown.png") no-repeat center;
    background-size: contain
    }
    </style>
    <script src="./js/jquery-3.3.1.min.js"></script>
    </head>

    <body>
    <div id="input" class="select" value="774777">9299</div>
    <div id="input1" class="select" value="774777">9299</div>
    <script>
     
    (function ($) {
    $.fn.moreSelct = function (data,fn) {
    var that = $(this)
    this.each(function () {
    var str = '<div class="singleSelect">' +
    '<div class="singleSelectMask"></div>' +
    '<div class="singleSelectContent">' +
    '<div class="singleSelectButton clear">' +
    '<span class="fl singleCancel">取消</span>' +
    '<span class="fr singleOver" style="color:#81B1FF">完成</span>' +
    '</div>' +
    '<div class="selectItemCon">@@@@</div>' +
    '</div> ' +
    '</div>';
    var itemstr = ""
    for (var i = 0; i < data.length; i++) {
    itemstr += '<div class="selectMoreItem" value="' + data[i]["value"] + '">' + data[i]
    ["name"] + '</div> '
    }
    str = str.replace("@@@@", itemstr);
    $(this).click(function () {

    $("body").append(str)
    if ($(this).attr("value")) {

    var values=($(this).attr("value")).split(",")
    console.log(values)
    for(var i=0;i<values.length;i++){
    $(".selectMoreItem[value=" + values[i] + "]").addClass(
    "selectItemActive")
    }
     
     


    }
    $(".selectMoreItem").click(function () {
    if($(this).hasClass("selectItemActive")){
    $(this).removeClass("selectItemActive")
    }else{
    $(this).addClass("selectItemActive")
    }
     
     
    })
    $(".singleCancel").click(function () {
    $(".singleSelect").remove()
    return false
    })
    $(".singleOver").click(function () {
    if ($(".selectItemActive").length == 0) {
    $(".singleSelect").remove()
    return
    }
    var values=[]
    var htmls=[]
    $(".selectItemActive").each(function(){
    values.push($(this).attr("value"))
    htmls.push($(this).html())

    })





    that.attr("value", values.join(","))
    fn(values)
    that.html(htmls.join(","))
    $(".singleSelect").remove()
    return false
    })
    })
    });
    };
    })(jQuery);

    $("#input").moreSelct([{
    name: 999,
    value: 77557779
    }, {
    name: 9991,
    value: 7737778
    }, {
    name: 9299,
    value: 7747777
    }, {
    name: 9991,
    value: 7737776
    }, {
    name: 9299,
    value: 7747775
    }, {
    name: 9991,
    value: 7737774
    }, {
    name: 9299,
    value: 7747773
    }, {
    name: 9991,
    value: 7737772
    }, {
    name: 9299,
    value: 7747771
    },],function(val){
    alert(val)
    })

     
    </script>
    </body>

    </html>
  • 相关阅读:
    QFramework 使用指南 2020(二):下载与版本介绍
    QFramework 使用指南 2020 (一): 概述
    Unity 游戏框架搭建 2018 (二) 单例的模板与最佳实践
    Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介
    Unity 游戏框架搭建 2017 (二十三) 重构小工具 Platform
    Unity 游戏框架搭建 2017 (二十二) 简易引用计数器
    Unity 游戏框架搭建 2017 (二十一) 使用对象池时的一些细节
    你确定你会写 Dockerfile 吗?
    小白学 Python 爬虫(8):网页基础
    老司机大型车祸现场
  • 原文地址:https://www.cnblogs.com/liuhao-web/p/11270858.html
Copyright © 2011-2022 走看看