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 相关文章推荐
原生Aajax 和jQuery Ajax 写法个人总结
Mar 24 jQuery
jQuery树插件zTree使用方法详解
May 02 jQuery
jquery实现图片放大点击切换
Jun 06 jQuery
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
jquery 获取索引值在一定范围的列表方法
Jan 25 jQuery
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
jQuery中each和js中forEach的区别分析
Feb 27 jQuery
jQuery.parseJSON()函数详解
Feb 28 jQuery
jQuery实现图片下载代码
Jul 18 jQuery
jQuery表单选择器用法详解
Aug 22 jQuery
jquery实现异步文件上传ajaxfileupload.js
Oct 23 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
追求程序速度,而不是编程的速度
2008/04/23 PHP
php session和cookie使用说明
2010/04/07 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
jquery中radio checked问题
2015/03/16 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
Python中处理unchecked未捕获异常实例
2015/01/17 Python
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
城市规划毕业生求职信
2013/10/10 职场文书
幼儿园家长会欢迎词
2014/01/09 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
运动会加油稿
2015/07/22 职场文书
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android