模糊查询输入框

css部分:

<style type="text/css">
    body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{
        margin:0;
        padding:0;
    }

    .nice-select input{
        outline: none;
        cursor: pointer;
        width: 14em;
        height: 1.8em;
        font-size: 1em;
        border: 1px solid #000;
        background: url(image/icon.png) no-repeat scroll right center transparent;
        background-position: 96% 50%;
        padding: 0 10px;
        -webkit-border-radius: .3em;
        -moz-border-radius: .3em;
        border-radius: .3em;
        position: absolute;
        line-height: 1.8em;
    }

    ul{
        list-style: none;
    }

    .nice-select{
        position: relative;
        width: 14em;
       margin: 20px;
        box-shadow: 0 3px 5px #999;
        -webkit-border-radius: .3em;
        -moz-border-radius: .3em;
        border-radius: .3em;
    }

    .nice-select ul{
        display: none;
        border: 1px solid #d5d5d5;
        width: 13.9em;
        position: absolute;
        top: 1.8em;
        overflow: hidden;
        background-color: #fff;
        max-height: 150px;
        overflow-y: auto;
        border-top: 0;
        z-index: 10001;
    }

    .nice-select ul li{
        height: 30px;
        line-height: 2em;
        overflow: hidden;
        padding: 0 10px;
        cursor: pointer;
        border-top: 1px solid #d5d5d5;
    }

    .nice-select ul li.on{background-color: #e0e0e0;}

</style>

html部分:

<div class="nice-select">
    <input id="customerId" type="text" oninput="searchList(this.value)">
    <ul>
        <li>Java--我的最爱</li>
        <li>PHP--很棒的wo</li>
        <li>HTML--简单</li>
        <li>jQuery--有点难</li>
        <li>Android--安卓</li>
        <li>C--不会</li>
        <li>C++--更不会</li>
        <li>Struts--懂哦</li>
        <li>hibernate--已经不怎么懂</li>
        <li>spring--懂哦</li>
        <li>0123456789--10</li>
    </ul>
</div>

js部分:(此处需要引入jquery.js)

<script type="text/javascript">
    $(function(){
        $(".nice-select").click(function(e){
            $(this).find("ul").show();
            e.stopPropagation();
        });

        $(".nice-select ul li").hover(function(e){
            $(this).toggleClass("on");
            e.stopPropagation();
        });

        $(".nice-select ul li").click(function(e){
            var val = $(this).text();
            val = val.substring(0, val.indexOf(‘--‘));
            $(".nice-select").find("input").val(val);
            $(".nice-select").find("ul").hide();
            e.stopPropagation();
        });

        $(document).click(function(){
            $(".nice-select").find("ul").hide();
        });
    });

    function searchList(strValue) {
        var count = 0;
        if (strValue != "") {
            $(".nice-select ul li").each(function(i) {
                var contentValue = $(this).text();
                if ((contentValue.indexOf(strValue.toLowerCase()) < 0)
                        && (contentValue.indexOf(strValue.toUpperCase()) < 0)) {
                    $(this).css("display", "none");
                    count++;
                } else {
                    $(this).css("display", "block");
                }
                if (count == (i + 1)) {
                    $(".nice-select").find("ul").hide();
                } else {
                    $(".nice-select").find("ul").show();
                }
            });
        } else {
            $(".nice-select ul li").each(function(i) {
                $(this).css("display", "block");
            });
        }
    }

</script>
时间: 2024-10-19 18:40:57

模糊查询输入框的相关文章

vue 如何实现 Input 输入框模糊查询方法

原理:原生js的indexOf() 方法,该方法将从头到尾地检索数组,看它是否含有对应的元素.开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时).如果找到一个 item,则返回 item 的第一次出现的位置.开始位置的索引为 0. 如果在数组中没找到指定元素则返回 -1. 下面先看示例: 搜索前: 搜索后: 实现方法: 1 methods:{ 2 // 点击搜索工程 3 search(){ 4 // 支持模糊查询 5 // this.xmgcqkJsonsData:

vue实现输入框的模糊查询(节流函数的应用场景)

上一篇讲到了javascript的节流函数和防抖函数,那么我们在实际场合中该如何运用呢? 首先,我们来理解一下:节流函数首先是节流,就是节约流量.内存的损耗,旨在提升性能,在高频率频发的事件中才会用到,比如:onresize,onmousemove,onscroll,oninput等事件中会用到节流函数: 输入框的模糊查询功能原理分析 所谓模糊查询就是不需要用户完整的输入或者说全部输入信息即可提供查询服务,也就是用户可以在边输入的同时边看到提示的信息(其实是查询出来匹配到的信息),百度的搜索功能

2015/10/25 用bootstrap selectpicker实现带模糊查询的下拉列表

今天的时间比较宽松,就整理一下自己这两天使用到的一个小插件功能吧,不求涉及太广,只是为了自己更好的理解. 实现功能:下拉列表显示人员列表,支持输入关键字进行模糊查询(人员列表通过数据库查询得到)1.java代码:Controller @RequestMapping(value = "list.do", method = RequestMethod.GET) public ModelAndView listUser(){ ModelAndView mav = new ModelAndVi

AJAX基本操作 + 登录 + 删除 + 模糊查询

AJAX练习显示页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

ajax实现模糊查询完成列表信息显示

之前遗留一个老问题:列表模糊查询,用的直接是form提交,点击搜索按扭后,页面刷新,搜索框中关键词就没了,这鸡肋的体验,我发誓一定要搞定它 但是鉴于自己写代码是纯粹玩票,我写代码没有目标,只有在当前工作中找不到自信的时候,我会通过写代码来鼓励自己更加自信 写了这么久,一个系统也是要写很久的,这其中很多细节点,都得一步步的搞定,而且中间可能调试时候遇到很多问题,也得慢慢查 这个功能是很早之前欠下自己的,搞了3天,终于出来了.涉及的点,我准备用一长篇来讲述清楚 老习惯,先看下效果: 下面讲一下思路:

延时模糊查询

当用户在输入框上输入东西的时候,下面自动显示出搜索结果来.但是我想的是当延迟一秒,判断用户还有没有继续输入或者删除的意愿再进行ajax调用模糊查询. 方案一: fn为延时后执行的函数,delay为延时时间 1 debounce_return: function (fn, delay) { 2 var timer = null; 3 return function () { 4 var context = this; 5 var args = arguments; 6 clearTimeout(t

10 行 Python 代码实现模糊查询/智能提示

10 行 Python 代码实现模糊查询/智能提示 1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的文件名,并提供一个推荐列表供用户选择. 样例如下: Vim (Ctrl-P) Sublime Text (Cmd-P) '模糊匹配'这是一个极为有用的特性,同时也非常易于实现. 2.问题分析: 我们有一堆字符串(文件名)集合,我们根据用户的输入不断进行过滤,用户的输入可能是字符串的一部分.我们就以下面的

MySQL指定模糊查询范围 或 获取或者查询数据库字段的特定几位

SUBSTR 函数 正常的: select * from sky_user WHERE name LIKE "%name%" 现在我需要匹配name的前五位 select * from sky_user WHERE SUBSTR(name,1,5) LIKE "%name%" SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracl

DevExpress 选择框如何进行模糊查询

dev中有很多的选择框控件,但是没有发现能够实时模糊查询的选择框,lookupedit是在数据源不变情况下实现自动匹配,但很多时候数据量太大以至于我们没法先绑定数据源. 这时我们需要一个能够实现实时匹配的SearchTextBox.这里我们用到了popupcontainerEdit. 先从工具栏中拖一个popupcontainerEdit和一个popucontainerControl.popupcontainerEdit像是一个lookupedit的输入选择框.而popucontainerCon