JavaScript 文本框输入智能提示实现方案

作者:拾光

时间:2026-10-29

浏览:433

本文介绍了一种基于JavaScript和Ajax的文本框输入智能提示实现方案。通过监听keyup事件获取用户输入,异步请求后台数据,并将返回的JSON格式数据动态展示在提示区域。点击选项后可自动填充文本框并隐藏提示,适用于搜索等场景。

文章目录

智能提示功能概述

本文详细介绍了一种JavaScript实现的文本框输入智能提示功能,旨在提升用户交互体验。下方展示了该功能的实际运行效果截图。

智能提示功能概述

核心实现逻辑

实现该功能的核心思路如下:

首先,需要监听文本框的事件。本文示例中采用了keyup事件,虽然onchange事件也可行,但keyup能提供更流畅的实时反馈效果。

其次,根据用户输入的文本内容,通过Ajax技术异步向后台服务器发送请求,以获取匹配的数据。

接着,对后台返回的数据进行遍历处理,并将每一条数据动态添加到前端的显示区域中。

在渲染数据的同时,为每条数据添加交互效果。当用户点击某一条建议数据时,该数据将自动填充到文本框内,同时智能提示区域自动隐藏。

需要注意的是,后台返回的数据格式应统一拼接为JSON格式,以便于前端解析和处理。

代码实现与总结

以下是具体的代码实现部分:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <title>自动提示</title>
 <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
 <script type="text/ecmascript">
  function txtchange() {
   var nnmae = $("#intxt").val();
   $.ajax({
    type: "post",
    url: "ashx/AutoNote.ashx",
    data: { name: nnmae },
    dataType: "json",
    success: function (data) {
     $("#tbcontent").html(""); //删除原有数据
     if (data != "null") {
      for (var i = 0; i < $(data).length; i++) {
       $("#tbcontent").append('<div class="item" onclick="mousedown(this)">' + data[i].name + '</div>');
      }
      $("#tbcontent").slideDown();
     }
    }
   });
  }
  //选择其中的提示内容
  function mousedown(object) {
   $("#intxt").val($(object).text());
   $("#tbcontent").fadeOut();
  }
  //文档框失去焦点,隐藏提示内容
  function lost() {
   $("#tbcontent").fadeOut();
  }
 </script>
 <style type="text/css">
  .item:hover
  {
   background-color: Gray;
   cursor:pointer;
  }
  .show
  {
   width: 200px;
   z-index: 10;
   display: block;
  }
  .hidden
  {
   width: 200px;
   z-index: 10;
   display: none;
   border:1px solid rgb(80,160,91);
   border-top:none;
  }
  table tr td
  {
   margin:none;
   padding:none;
   border:none;
  }
 </style>
</head>
<body>
 <form id="form1" runat="server">
 <div style="width: 210px; margin-left:auto; margin-right:auto">
  <table>
   <tr>
    <td>
     <input type="text" style="width: 200px;" id="intxt" onkeyup="txtchange()" onblur="lost()"/>
    </td>
   </tr>
   <tr>
    <td>
     <div id="tbcontent" class="hidden">
     </div>
    </td>
   </tr>
  </table>
 </div>
 </form>
</body>
</html>

这种基于JavaScript的文本框智能提示功能,在信息搜索场景中具有较高的实用价值,希望能为学习JavaScript程序设计的朋友提供有益参考。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章