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 EasyUI tree增加搜索功能的实现方法
Apr 27 jQuery
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
基于jQuery的左滑出现删除按钮的示例
Aug 29 jQuery
jQuery EasyUI结合zTree树形结构制作web页面
Sep 01 jQuery
jQuery插件实现的日历功能示例【附源码下载】
Sep 07 jQuery
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
jQuery创建折叠式菜单
Jun 15 jQuery
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 jQuery
jquery实现直播视频弹幕效果
Feb 25 jQuery
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
Apr 30 jQuery
jQuery cookie的公共方法封装和使用示例
Jun 01 jQuery
jQuery实现简单三级联动效果
Sep 05 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中的常用魔术方法汇总
2016/02/14 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
PHP数组操作简单案例分析
2016/10/15 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
2018/02/24 jQuery
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
python插入排序算法的实现代码
2013/11/21 Python
python实现的一个火车票转让信息采集器
2014/07/09 Python
wxPython中listbox用法实例详解
2015/06/01 Python
Python企业编码生成系统之系统主要函数设计详解
2019/07/26 Python
Python Django搭建网站流程图解
2020/06/13 Python
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
文化与传播毕业生求职信
2014/03/09 职场文书
护理专业自荐书
2014/06/04 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python