使用 jQuery 的 Autocomplete 插件实现input输入提示功能

HTML5 herman 3259浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

两个小时前,有网友在论坛里问我。如何使用 HTML5 实现 文本框输入内容后带有模糊匹配的功能。这其实很简单,而且jQuery也为我们提供了相应的插件 Autocomplete.js。这不是一项新技术,百度一搜有很多相关的文章。在这里我就再分享一下如何实现这个功能。

input 输入动态提示

我们先看看运行效果图

input 输入动态提示

Autocomplete.js 插件地址:http://jqueryui.com/autocomplete/

input 输入模糊提示demo

全部代码如下所示。

<!DOCTYPE HTML>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>业余草实现 input 模糊匹配功能</title>
  <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="http://jqueryui.com/autocomplete/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>
  $( function() {
    var availableTags = [
      "业余草",
      "CODE大全",
	  "www.xttblog.com",
	  "www.codedq.net",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran",
      "Groovy",
      "Haskell",
      "Java",
      "JavaScript",
      "Lisp",
      "Perl",
      "PHP",
      "Python",
      "Ruby",
      "Scala",
      "Scheme"
    ];
    $( "#tags" ).autocomplete({
      source: availableTags
    });
  } );
  </script>
</head>
<body>
<div class="ui-widget">
  <label for="tags">输入内容: </label>
  <input id="tags">
</div> 
</body>
</html>

在实际使用中,模糊匹配的词都是从后台查询的。我们这里只需要将source的数据源改为ajax后台查询的结果即可。如下:

<script>
  $( function() {
    $( "#tags" ).autocomplete({
      source: ajaxTags()
    });
  } );
  function ajaxTags(){
	return $.ajax({
	  url: "url",
	  async: false,
	  data:{tags:$('#tags').val()},
	  dataType:'json'
	}).responseText;
  }
  </script>

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » 使用 jQuery 的 Autocomplete 插件实现input输入提示功能