搜索模糊匹配

Js代码

//使得下拉框的宽度和输入框保持一致
        $("#schname").css("width",$("#named").width());

//监听输入框
        $("#named").keyup(function (){
            if($("#named").val().length>0){
                var html="";
                var len=websites.length>11?11:websites.length;//最多显示10行
                for(var i=0;i< len;i++){
if(websites[i][0].toLowerCase().indexOf($("#named").val().toLowerCase())>=0 && websites[i][1].toLowerCase().indexOf($("#named").val().toLowerCase())>=0 && websites[i][2].toLowerCase().indexOf($("#named").val().toLowerCase())>=0)
{
    html+="<tr><td style=‘color: blue;font-weight: bold‘>"+websites[i][0]+"</td><td style=‘color: blue;font-weight: bold‘>"+websites[i][1]+"</td><td style=‘color: blue;font-weight: bold‘>"+websites[i][2]+"</td></tr>";

}

if(websites[i][0].toLowerCase().indexOf($("#named").val().toLowerCase())>=0 && websites[i][1].toLowerCase().indexOf($("#named").val().toLowerCase())>=0 && websites[i][2].toLowerCase().indexOf($("#named").val().toLowerCase())<0)
{
    html+="<tr><td style=‘color: blue;font-weight: bold‘>"+websites[i][0]+"</td><td style=‘color: blue;font-weight: bold‘>"+websites[i][1]+"</td><td >"+websites[i][2]+"</td></tr>";
};
if(websites[i][0].toLowerCase().indexOf($("#named").val().toLowerCase())>=0 && websites[i][1].toLowerCase().indexOf($("#named").val().toLowerCase())<0 && websites[i][2].toLowerCase().indexOf($("#named").val().toLowerCase())>=0)
{
    html+="<tr><td style=‘color: blue;font-weight: bold‘>"+websites[i][0]+"</td><td >"+websites[i][1]+"</td><td style=‘color: blue;font-weight: bold‘>"+websites[i][2]+"</td></tr>";
};
if(websites[i][0].toLowerCase().indexOf($("#named").val().toLowerCase())<0 && websites[i][1].toLowerCase().indexOf($("#named").val().toLowerCase())>=0 && websites[i][2].toLowerCase().indexOf($("#named").val().toLowerCase())>=0)
{
    html+="<tr><td >"+websites[i][0]+"</td><td style=‘color: blue;font-weight: bold‘>"+websites[i][1]+"</td><td style=‘color: blue;font-weight: bold‘ >"+websites[i][2]+"</td></tr>";
};

if(websites[i][0].toLowerCase().indexOf($("#named").val().toLowerCase())<0 && websites[i][1].toLowerCase().indexOf($("#named").val().toLowerCase())>=0 && websites[i][2].toLowerCase().indexOf($("#named").val().toLowerCase())<0)
{
    html+="<tr><td>"+websites[i][0]+"</td><td>"+websites[i][1]+"</td><td  style=‘color: blue;font-weight: bold‘>"+websites[i][2]+"</td></tr>";
};
if(websites[i][0].toLowerCase().indexOf($("#named").val().toLowerCase())>=0 && websites[i][1].toLowerCase().indexOf($("#named").val().toLowerCase())<0 && websites[i][2].toLowerCase().indexOf($("#named").val().toLowerCase())<0)
{
    html+="<tr><td style=‘color: blue;font-weight: bold‘>"+websites[i][0]+"</td><td >"+websites[i][1]+"</td><td >"+websites[i][2]+"</td></tr>";
};
if(websites[i][0].toLowerCase().indexOf($("#named").val().toLowerCase())<0 && websites[i][1].toLowerCase().indexOf($("#named").val().toLowerCase())<0 && websites[i][2].toLowerCase().indexOf($("#named").val().toLowerCase())>=0)
{
    html+="<tr><td >"+websites[i][0]+"</td><td >"+websites[i][1]+"</td><td style=‘color: blue;font-weight: bold‘>"+websites[i][2]+"</td></tr>";
};

if(websites[i][0].toLowerCase().indexOf($("#named").val().toLowerCase())<0 && websites[i][1].toLowerCase().indexOf($("#named").val().toLowerCase())<0 && websites[i][2].toLowerCase().indexOf($("#named").val().toLowerCase())<0)
{
    html="<tr><td style=‘padding: 5px 3px‘>无对应用户</td></tr>"
};
} $("#schname").html(html); $("#schname").css("display","table"); }else{ $("#schname").css("display","none"); } }); // 这里是点击事件处理 $(‘#schname‘).on(‘click‘, ‘tr‘, function() { if($(this).text()=="无对应用户"){ return;//没有匹配值返回否则做相应处理 } $("#named").val($(this).text()); $("#schname").css("display","none"); });

  

  

CSS代码:

 }
        #schname{

            background-color:#ffffff;
            border: 1px solid #e4e4e4;
            /*height: 30px;*/
            position: absolute;
            /*display: none;*/
            z-index: 9999999;
        }

        #schname tr:hover{
            background-color: #e4e4e4;
            cursor: pointer;
        }
        #schname tr td{

            padding-right: 30px;
        }

  

再来看看HTML

 <div >
        <div class="seachgroup">
            <input type="text" id="named" style="width: 400px">
            <table  id="schname" >

            </table>
        </div>
    </div>

数据格式:

 var websites = [["123","1239","1342333111"],["1234","账上","452354234234"],["1235","账上","33333344444"],["1236","账上","55555555"]
    ];

效果

当然,有个更简单的插件叫做jquery-ui    autocomplete  大家可以百度一下使用非常简单。

时间: 2024-10-11 18:33:46

搜索模糊匹配的相关文章

高亮显示 筛选 搜索元素 模糊匹配 多关键词搜索

//模糊匹配 check.onclick = function(){ for(i = 0;i<ul.children.length;i++){ var list = ul.children[i].innerHTML; var inputValue = inPut.value; if(list.search(inputValue) != -1){ ul.children[i].style.background = 'yellow'; // 注意这里不可以再用list这个变量了,也不能是innerh

EasyUI combobox下拉列表实现搜索过滤(模糊匹配)

项目中的某个下拉列表长达200多个项,这么巨大的数量一个一个找眼镜都得看花,于是就得整了个搜索功能.看网上别人帖子有只能前缀匹配的方案,但只能前缀匹配的话用起来也不是很方便.于是就记录一下模糊匹配的方案. 实现效果: 这里使用的是combobox组合框,对于combobox的创建可以使用<input>输入框,也可以使用<select>下拉选.我使用的是<select>: HTML代码 <label>关联课程</label> <select

Linux使用技巧——find结合grep模糊匹配文件搜索关键字

find结合grep模糊匹配文件搜索关键字 不知道哪个单词在哪个文件里面可以使用这种方法 [[email protected] window_books]# find . -name "*txt" -type f | xargs grep "description" ./2013_liuyinan_5500_words_21-32.txt:1309 description ?????????????? n. 描写,形容:种类 ion-名词后缀 ./2013_liuy

js模糊匹配

<div> <input type="text" placeholder="请输入..." id="input"/><button>搜索</button> <ul id="inputInfo"></ul> </div> let search = [] let list = '' var inputArr = [] document.getEle

转:使用Mongo Connector和Elasticsearch实现模糊匹配

原文来自于:http://www.csdn.net/article/2014-09-01/2821485-how-to-perform-fuzzy-matching-with-mongo-connector 摘要:短短两年,Mongo Connector取得了突破性的进展,用户已经可以通过它完成连接器两边的同步更新.而基于这个特性,其他工具针对MongoDB内存储文件的实时操作也成为可能. [编者按]本篇博文作者Luke Lovett是MongoDB公司的Java工程师,他展示了Mongo Co

[转载]java字符串模糊匹配(

,需要在java中进行字符串的模糊匹配,由于要比较的对象长度不同,也没有固定的组成规则,收集到下列三个方法解决问题 方法一. public int indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引.返回的整数是 this.startsWith(str, k)为 true 的最小 k 值. 参数:str - 任意字符串. 返回:如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引:如果它不作为一个子字符串出现,则返回 -1.

php 数组模糊匹配

php 数组模糊匹配: $list = array(); // 匹配后的结果 $arr = array("abcd","abef","efgh"); $search_str = "ab"; // 搜索的字符串 foreach($arr as $key=>$val ){ if (strstr( $val , $search_str ) !== false ){ array_push($list, $val); } } $l

下拉列表实现模糊匹配选择

最近在做一个在文本框输入关键字, 文本框下动态显示加载相关内容的下拉列表的效果, 就是类似于百度和淘宝搜索框这种效果. 不断的研究加上尝试, 得到两种方案解决这个需求, 特意记录一下, 以免下次用的时候忘记. 方法一: HTML5新增的datalist标签 HTML5作为当下最为热门的 Web 技术, 已经在互联网行业得到了普遍应用, 基于HTML5的浏览器和Web引擎为用户带来了感知体验上的巨大飞跃, 并将Web应用带入了一个新的发展阶段, 可以预见HTML5会有更广泛的使用及更好的发展. H

存储引擎、表的创建、字段的各种数据类型、模糊匹配、严格模式、约束条件等

存储引擎: 不同类型的数据拥有不同的处理机制. mysql存储引擎 Innodb:默认的存储引擎 查询速度较myisam慢 但是更安全 myisam:mysql老版本用的存储引擎,比较innodb memory:内存引擎(数据全部存在内存中) blackhole:无论存什么 都立马消失(黑洞) 研究一下每个存储引擎存取数据的特点 show engines; 数据类型 整型 浮点型 字符类型 日期类型 枚举与集合类型 约束 not null unique default primary key t