jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例


Posted in jQuery onMay 09, 2018

本文实例讲述了jQuery简单实现的HTML页面文本框模糊匹配查询功能。分享给大家供大家参考,具体如下:

项目中需要用到此功能,使用过EasyUI中的Combobox,网上也搜过相应的解决办法,对于我的项目来说都不太合适,因为我还是喜欢比较纯粹的东西,就自己动手写了一个,比较简单,但还算能用,我的项目中也已经使用上了,做了个小demo作为记录,有需要的自己复制代码改一改就好了。

可看到如下效果展示图:

jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例

接下来是代码,纯html+css+jquery的:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <title>jQuery模糊匹配查询</title>
  <style type="text/css">
    #div_main {
      margin: 0 auto;
      width: 300px;
      height: 400px;
      border: 1px solid black;
      margin-top: 50px;
    }
    #div_txt {
      position: relative;
      width: 200px;
      margin: 0 auto;
      margin-top: 40px;
    }
    #txt1 {
      width: 99%;
    }
    #div_items {
      position: relative;
      width: 100%;
      height: 200px;
      border: 1px solid #66afe9;
      border-top: 0px;
      overflow: auto;
      display: none;
    }
    .div_item {
      width: 100%;
      height: 20px;
      margin-top: 1px;
      font-size: 13px;
      line-height: 20px;
    }
  </style>
</head>
<body>
  <div id="div_main">
    <!--表单的autocomplete="off"属性设置可以阻止浏览器默认的提示框-->
    <form autocomplete="off">
      <div id="div_txt">
        <!--要模糊匹配的文本框-->
        <input type="text" id="txt1" />
        <!--模糊匹配窗口-->
        <div id="div_items">
          <div class="div_item">周杰伦</div>
          <div class="div_item">周杰</div>
          <div class="div_item">林俊杰</div>
          <div class="div_item">林宥嘉</div>
          <div class="div_item">林妙可</div>
          <div class="div_item">唐嫣</div>
          <div class="div_item">唐家三少</div>
          <div class="div_item">唐朝盛世</div>
          <div class="div_item">奥迪A4L</div>
          <div class="div_item">奥迪A6L</div>
          <div class="div_item">奥迪A8L</div>
          <div class="div_item">奥迪R8</div>
          <div class="div_item">宝马GT</div>
        </div>
      </div>
    </form>
  </div>
</body>
</html>
<script type="text/javascript">
  //弹出列表框
  $("#txt1").click(function () {
    $("#div_items").css('display', 'block');
    return false;
  });
  //隐藏列表框
  $("body").click(function () {
    $("#div_items").css('display', 'none');
  });
  //移入移出效果
  $(".div_item").hover(function () {
    $(this).css('background-color', '#1C86EE').css('color', 'white');
  }, function () {
    $(this).css('background-color', 'white').css('color', 'black');
  });
  //文本框输入
  $("#txt1").keyup(function () {
    $("#div_items").css('display', 'block');//只要输入就显示列表框
    if ($("#txt1").val().length <= 0) {
      $(".div_item").css('display', 'block');//如果什么都没填,跳出,保持全部显示状态
      return;
    }
    $(".div_item").css('display', 'none');//如果填了,先将所有的选项隐藏
    for (var i = 0; i < $(".div_item").length; i++) {
      //模糊匹配,将所有匹配项显示
      if ($(".div_item").eq(i).text().substr(0, $("#txt1").val().length) == $("#txt1").val()) {
        $(".div_item").eq(i).css('display', 'block');
      }
    }
  });
  //项点击
  $(".div_item").click(function () {
    $("#txt1").val($(this).text());
  });
</script>

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
jqueryUI tab标签页代码分享
Oct 09 jQuery
jQuery实现滚动效果
Nov 17 jQuery
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jquery中为什么能用$操作
Jun 18 jQuery
jQuery表单选择器用法详解
Aug 22 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
jQuery实现异步上传一个或多个文件
Aug 17 jQuery
jquery实现简单每周轮换的日历
Sep 10 jQuery
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 jQuery
Vue引入jquery实现平滑滚动到指定位置
May 09 #jQuery
JS文件中加载jquery.js的实例代码
May 05 #jQuery
详解使用jQuery.i18n.properties实现js国际化
May 04 #jQuery
基于jQuery.i18n实现web前端的国际化
May 04 #jQuery
[原创]jquery判断元素内容是否为空的方法
May 04 #jQuery
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 #jQuery
基于jquery实现左右上下移动效果
May 02 #jQuery
You might like
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
javascript常用方法总结
2015/05/14 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
基本DOM节点操作
2017/01/17 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
python根据出生日期获得年龄的方法
2015/03/31 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
通过cmd进入python的实例操作
2019/06/26 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
pytorch数据预处理错误的解决
2020/02/20 Python
CSS实现雨滴动画效果的实例代码
2019/10/08 HTML / CSS
送货司机岗位职责
2013/12/11 职场文书
生物学学生自我评价
2014/01/17 职场文书
迟到检讨书大全
2014/01/25 职场文书
学校党员对照检查材料
2014/08/28 职场文书
夫妻吵架保证书
2015/05/08 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android