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 相关文章推荐
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
jquery中封装函数传递当前元素的方法示例
May 05 jQuery
jQuery动画_动力节点节点Java学院整理
Jul 04 jQuery
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 jQuery
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
jQuery中each方法的使用详解
Mar 18 jQuery
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
jQuery序列化form表单数据为JSON对象的实现方法
Sep 20 jQuery
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
jQuery实现简单弹幕效果
Nov 28 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防注入类实例
2014/12/05 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
php提取微信账单的有效信息
2018/10/01 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
Vue中常用rules校验规则(实例代码)
2019/11/14 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
使用python开发vim插件及心得分享
2014/11/04 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
Python3爬虫全国地址信息
2019/01/05 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
Python 实现Numpy中找出array中最大值所对应的行和列
2019/11/26 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
90后毕业生的求职信范文
2013/09/21 职场文书
经济与贸易专业应届生求职信
2013/11/19 职场文书
商务英语求职自荐信范文
2013/12/24 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
2015年检验科工作总结
2015/04/27 职场文书
nginx.conf配置文件结构小结
2022/04/08 Servers