zoukankan      html  css  js  c++  java
  • 前端模糊查询

    <div class="input-select">
        <input style="250px;"  id="index"><i class="iconfont icon-fangdajing"></i>
        <ul class="input-list" style="display: block;">
                <li><b>aupres/欧珀莱</b></li>
                <li><b>biotherm/碧欧泉</b></li>
                <li><b>casio/卡西欧</b></li>
                <li><b>l'occitane/欧舒丹</b></li>
                <li><b>l'oreal/欧莱雅</b></li>
                <li><b>ochirly/欧时力</b></li>
                <li><b>ohui/欧蕙</b></li>
                <li><b>欧林雅</b></li>
                <li><b>欧美</b></li>
                <li><b>欧美</b></li>
         </ul>
    </div>
    
    <script>
        $(function(){
                //键盘按键弹起时执行
                $('#index').keyup(function(){
                    var index = $.trim($('#index').val().toString().toUppCase()); // 去掉两头空格
                    if(index == ''){ // 如果搜索框输入为空
                        $('.input-select li').removeClass('on');
                        return false;
                    }
                    var parent = $('.allsku');
                    $('.input-select li').removeClass('on');
                    $(".input-select li").each(function(){
                        if($(this).text().toUpperCase().indexOf(index)!=-1){
                            $(this).prependTo(parent).addClass('on');
                        }
                    })
                });
            });
    </script>                                    
    

    对于模糊查询,一般都是传关键字给后端,由后端来做。但是有时候一些轻量级的列表前端来做可以减少ajax请求,在一定程度上提高用户体验

    //字符串方法indexOf
    var len = list.length;
    var arr = [];
    for(var i=0;i<len;i++){
    //如果字符串中不包含目标字符会返回-1
    if(list[i].indexOf(keyWord)>=0){
    arr.push(list[i]);
    }
    }
    return arr;

    //正则表达式
    var len = list.length;
    var arr = [];
    var reg = new RegExp(keyWord);
    for(var i=0;i<len;i++){
    //如果字符串中不包含目标字符会返回-1
    if(list[i].match(reg)){
    arr.push(list[i]);
    }
    }
    return arr;
  • 相关阅读:
    NoSuchMethodError: Closure call with mismatched arguments:
    pod reopened update慢
    Flutter ListView 不满屏 无法滚动
    三分钟告诉你MBR和GPT的区别,选择适合自己的
    centos8 安装VMware,之后不能启动问题处理
    Docker学习之路
    JavaScript 编程语言
    工具
    Java开发
    Oracle的学习
  • 原文地址:https://www.cnblogs.com/Rookie-upgrade/p/7736409.html
Copyright © 2011-2022 走看看