html5 模糊匹配搜索框

使用bootstrap3-typeahead.js

文件在这里

引用:

 <script type="text/javascript" src="@Url.Content("XXXXX/bootstrap3-typeahead.js")" charset="UTF-8"></script>

input控件

<input id="local_data" autocomplete="off" data-provide="typeahead" type="text" style="background: white"
                               class="input-sm form-control" placeholder="输入关键字以搜索" />

JS样例代码

var initSearchLabel = function () {
    var resultKeyAndValue = {};
    $("#local_data").typeahead({
        source: function (query, process) {
            //query是输入的值
            var names = new Array();
            $.ajax({
                type: "GET",
                url: "XXXXXXXX",
                datatype: "json",
                contentType: "application/json; charset=utf-8",
                cache: false,
                traditional: true,
                async: false,
                success: function (result) {
                    result = JSON.parse(result);
                   //处理得到的JSON数据,var resultList = JSON.parse(result);           //如果得到的数据是对象数组而不是字符串数组,将要显示的搜索结果处理为一个字符串数组并返回 ;           //如果在选中以后的处理方法中还需要被选中对象的其他参数,可以将选中的字符串与使用的其他参数做成一个Dictionary备用
                    for (var i = 0; i < resultList.length; i++) {
                        names.push(resultList[i].NAME);
                    }
                    return process(names);
                },
                error: function (result) { }
            });
        },
        updater: function (item) {      //选中以后的数据处理。item为选中的字符串,resultKeyAndValue为success函数红提到的备用Dictionary,在此取出需要用到的参数。
            var info = resultKeyAndValue[item];var name = info["name"];
            $.ajax({
                type: "GET",
                url: "YYYYYYYYYYYYYYY" ,
                datatype: "json",
                contentType: "application/json; charset=utf-8",
                cache: false,
                traditional: true,
                async: false,
                success: function (result) {
                    result = JSON.parse(result);
                },
                error: function (result) { }
            });
            return item;
        },
        items: 100,//显示的搜索结果
        delay: 500  //input控件中数据发生变化以后执行请求的间隔
    });
}

该方法匹配的是完整字符串,还达不到百度输入框中的 多个关键字匹配方式

时间: 2024-11-07 00:06:32

html5 模糊匹配搜索框的相关文章

基于layui模块的后台匹配搜索框

最近做了一个项目,其中需要从大量数据中筛选出需要的相应数据,因为数据量庞大,且变化,因此不能一次性渲染至前端页面,所以只能通过输入关键字,后台获取关键字搜索匹配返回数据给前端的方法,然后在网上大量寻找,始终找不到能完美融合项目的插件,于是萌发了自己写一个的想法,晚辈学疏才浅,望指教! 下面开始进入正题 前端部分 本想自己设计样式,但审美受限,感觉与整体项目风格不符,于是直接采用layui模块的样式 {% load staticfiles %} <!DOCTYPE html> <html

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

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

Mybatis mysql 一个搜索框多个字段模糊查询 OR

根据搜索框给定的关键词,模糊搜索用户名和账号都匹配的用户集合 <select id="list" parameterType="com.user.UserInfo" resultType="com.user.UserInfo"> SELECT * FROM user WHERE 1 = 1 <if test="searchParam != null and searchParam != ''"> AND

搜索框关键字智能匹配实例代码实例

搜索框关键字智能匹配实例代码实例:只要使用搜索引擎的朋友应该都有这样的体会,就是当在搜索框输入关键字的时候,会出现自能匹配现象,这绝对是非常好的用户体验,下面就是一段类似的代码,当然这里只是掩饰,所以只能匹配的数据都是本地固定好的,在实际应用中可以才能够数据库读取数据.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="auth

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

//模糊匹配 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

转:zTree树控件扩展篇:巧用zTree控件实现文本框输入关键词自动模糊查找zTree树节点实现模糊匹配下拉选择效果

是否可以借助于zTree实现文本框输入关键词自动模糊匹配zTree下拉树,然后选择下拉树内节点显示在文本框内且隐藏下拉树. 看到这个需求脑子里头大致已经想到了要如何实现这样一个需求,当时是限于时间问题所以没有动手处理.今天闲来无事琢磨了一下这个需求.我的解决思路如下所示: 1.监听文本框的onkeyup事件:实时传递其值到某个函数: 2.编写某个函数接收文本框的值通过zTree的模糊查找方法getNodesByParamFuzzy(key,value)获得: 3.将匹配到的节点列表结合重新赋值给

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. 这是原生写的,代码很简单,重要是思路.主要就是用了一个indexOf(),很简单.越简单的东西越难想到,很多人都会想到用正则去做,这样就舍近求远了. html部分: <div id="box"> <input type="text" id="txt" value = ""> <input type="button&quo

jQuery实现前端模糊匹配与首字母搜索

实现效果 源码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>搜索框测试Demo</title> <style> .searchDiv {width: 400px;height: 400px;margin: 150px auto;} .on {font-size: 12px;font-weight: 700;color: red;