• 技术文章 >web前端 >js教程

    js实现模糊查询实例详解

    小云云小云云2018-05-26 15:32:00原创2007
    本文主要和大家分享jjs实现模糊查询实例详解,主要以代码的方式和大家分享,希望能帮助到大家。

    1、简述

    实现模糊查询方法有很多种,后端可以实现,前端使用js也可以实现。

    后端实现起来需要根据输入框中搜索的关键字,去后台拼接SQL语句查询。

    前端直接使用字符串的indexOf()方法或者正则表达式匹配实现,相比后端实现这种方法的用户体验更友好。

    2、demo

    当输入框中输入内容或者点击查询按钮时,
    根据输入框中的关键字,模糊查询下面表格的内容,并重新渲染表格。
    代码如下。

    (1)javascript代码:

    let listData = ["上海市","黄浦区","卢湾区","徐汇区","长宁区","静安区","普陀区",
    "闸北区","杨浦区","虹口区","闵行区","宝山区","嘉定区","浦东新区",
    "金山区","松江区","青浦区","南汇区","奉贤区","崇明县" ];

    function Fuzzysearch(listData){
      this.listData = listData,//请求得到的数据
      this.searchKey = document.getElementById('searchKey'),//查询关键字
      this.searchBtn = document.getElementById('searchBtn'),//查询按钮
      this.searchShow = document.getElementById('searchShow')//显示查询结果的表格
     
      this.renderTab(this.listData);
      this.init();
    }
    Fuzzysearch.prototype={
          init :function(){
            let _this = this;
              //键入触发事件
            _this.searchKey.onkeyup=function(){
                let searchResult = _this.searchFn();
                _this.renderTab(searchResult);
            };
    
          //点击查询按钮触发事件
            _this.searchBtn.onclick=function(){
                let searchResult = _this.searchFn();
                _this.renderTab(searchResult);
            };
    
          },
          searchFn:function(){
            var keyWord = this.searchKey.value;
            var len = this.listData.length;
            var arr = [];
            var reg = new RegExp(keyWord);
            for(var i=0;i<len;i++){
                //如果字符串中不包含目标字符会返回-1
                if(this.listData[i].match(reg)){
                    arr.push(listData[i]);
                }
            }
            return arr;
          }
          ,renderTab:function(list){
                let colStr = '';   
                if(list.length==0){
                  this.searchShow.innerHTML='未查询到关键字相关结果';
                  return;
                }      
                for(var i=0,len=list.length;i<len;i++){
                  colStr+="<tr><td>"+list[i]+"</td></tr>";
                }
                this.searchShow.innerHTML = colStr;
          }
    }
     new Fuzzysearch(listData);

    相关推荐:

    实例详解js如何实现模糊查询

    以上就是js实现模糊查询实例详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:javascript 详解 实例
    上一篇:Magento2 模块下添加自定义JS 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 浅析Angular变更检测中的DOM更新机制• 一文带你深入了解Node中的Buffer类• Angular开发问题记录:组件拿不到@Input输入属性• 带你了解Nodejs中的非阻塞异步IO• 聊聊基于Node实现单点登录(SSO)的方法
    1/1

    PHP中文网