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插件HighCharts绘制简单2D折线图效果示例【附demo源码】
Mar 21 jQuery
最常用的jQuery表单验证(简单)
May 23 jQuery
jQuery:unbind方法的使用详解
Aug 14 jQuery
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
简单实现jquery隔行变色
Nov 09 jQuery
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
jQuery中$原理实例分析
Aug 13 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
jquery实现联想词搜索框和搜索结果分页的示例
Oct 10 jQuery
jQuery实现王者荣耀手风琴效果
Jan 17 jQuery
jQuery实现异步上传一个或多个文件
Aug 17 jQuery
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 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表单提交问题的解决方法
2011/04/12 PHP
PHP实现懒加载的方法
2015/03/07 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
javascript 面向对象继承
2009/11/26 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
javaScript arguments 对象使用介绍
2013/10/18 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
2016/05/07 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
详解Python中列表和元祖的使用方法
2015/04/25 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
python实现简单遗传算法
2018/03/19 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
Python猜数字算法题详解
2020/03/01 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
大学老师推荐信
2014/02/25 职场文书
养生餐厅创业计划书范文
2014/03/26 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
太行山上观后感
2015/06/05 职场文书
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers