目的和效果:

    输入框输入字符串x,匹配后台传入的数据str,如果str中的元素包含字符串x,则提示。

后台代码:

                  String x = request.getParameter("c");//获取前台输入的数据
        Map<String, String> map = new HashMap<String, String>();
        String a = "aa,aaa,aba,acc";
        String b = "bb,bcb,ba";
        String c = "cc,cd,caca,cff";
        String d = "df,dg,dh";//模拟数据库取值
        map.put("a", a);
        map.put("b", b);
        map.put("c", c);
        map.put("d", d);
        if (x.startsWith("a")) {
            out.print(map.get("a"));//匹配成功返回结果
        } else if (x.startsWith("b")) {
            out.print(map.get("b"));
        } else if (x.startsWith("c")) {
            out.print(map.get("c"));
        } else if (x.startsWith("d")) {
            out.print(map.get("d"));
        }else{
            out.print("");
            

}


页面布局
<input type="text" id="search" value="" />

     <div id="content">
         <ul id="list">

         </ul>

     </div>


CS

            #content {
                display: none;
                margin-top: 3px;
                border: 1px solid gray;
                width: 200px;
            }
            
            #list {
                list-style: none;
                margin: 0 0;
                padding: 0 0;
            }
            
            li {
                margin: 5px 5px;
            }
            
            li:hover {
                background-color: gainsboro;

}



JS

            $(function() {
                //输入框绑定一个事件,内容改变的事件
                $("#search").bind('input property', function() {
                    //只要数据发生改变,就把原来的数据清空
                    $("#list").html('');
                    $("#content").hide();
                    //执行ajax,向后台传递数据,并得到后台返回的数据列表
                    //url,ajax的访问的页面(后台的地址)
                    //data,传递给后台的数据
                    //回调函数,后台响应结果之后给前台返回数据的回调函数
                    //判断如果输入框为空,就不调用ajax
                    if($("#search").val() != '') {
                        $.post('search', {
                            'c': $("#search").val()
                        }, function(data) {
                            //解析数据
                            data = data.split(',');
                            $(data).each(function(e) {
                                //得到数组的每一个元素
                                $("#list").append('<li>' + data[e] + '</li>');
                                $("#content").show();
                                //设置点击事件
                                $("li").click(function() {
                                    //把内容填充到输入框中
                                    $("#search").val($(this).html());
                                    $("#list").html('');
                                    $("#content").hide();
                                })
                            })
                        })
                    }
                })

})

效果图

 














利用Ajax和Servlet实现输入框提示功能的更多相关文章

  1. 利用Ajax和JSON实现关于查找省市名称的二级联动功能

    功能实现的思路:我们经常碰见网上购物时候填写收件地址会用到这个查找省市县的三级联动查找功能,我们可以利用Ajax和JSON技术模拟这个功能,说白了同样是使用Ajax的局部数据更新功能这个特性.因为省市 ...

  2. JQuery+AJAX实现搜索文本框的输入提示功能

    平时使用谷歌搜索的时候发现只要在文本框里输入部分单词或字母,下面马上会弹出一个相关信息的内容框可供选择.感觉这个功能有较好的用户体验,所以也想在自己的网站上加上这种输入提示框. 实现的原理其实很简单, ...

  3. Ajax实现搜索栏中输入时的自动提示功能

    使用 jQuery(Ajax)/PHP/MySQL实现自动完成功能 JavaScript代码: <script src="jquery-1.2.1.pack.js" type ...

  4. [前端引用] 利用ajax实现类似php include require 等命令的功能

    利用ajax实现类似php中的include.require等命令的功能 最新文件下载: https://github.com/myfancy/ajaxInclude 建议去这里阅读readme-2. ...

  5. 利用ajax的方式来提交数据到后台数据库及交互功能

    怎么样用ajax来提交数据到后台数据库,并完成交互呢????? 一.当我们在验证表单的时候,为了阻止把错误的也发送到服务器,我们通常这样设置:     $(function(){       var ...

  6. 利用ajax短轮询+php与服务器交互制作简易即时聊天网站

    主流的Web端即时通讯方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Server-sent Events). 本文主要介绍ajax短轮询的简易实现方式. 看懂此文 ...

  7. Jquery实现搜索框提示功能

    博客的前某一篇文章中http://www.cnblogs.com/hEnius/p/2013-07-01.html写过一个用Ajax来实现一个文本框输入的提示功能.最近在一个管理项目的项目中,使用后发 ...

  8. 转载:Eclipse+Spket插件+ExtJs4修改版提供代码提示功能[图]

    转载:Eclipse+Spket插件+ExtJs4修改版提供代码提示功能[图] ExtJs是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架.功能丰富,无人能出其右.无论是界面 ...

  9. 利用redis完成自动补全搜索功能(三)

    前面已经完成了分词和自动提示功能,最后把搜索结合在一起,来个完成的案例.当然最好还是用搜索分词解决,这个只是一个临时解决方案. 其实加上搜索很简单,要做的就是3件事 1. 分词的时候,把有用词的id存 ...

随机推荐

  1. sql server中的工作线程

    /*在SQL SERVER 2005 及以后版本中, 使用'MAXworker thread' 来配置可用的线程数,默认设置为0 ,即自动控制线程数 计算最大工作线程数: 对于32 位系统:逻辑CPU ...

  2. (1.2)mysql 索引概念

    索引的存储分类:mysql目前提供了以下4种索引 [1]B-Tree索引:最常见的索引类型,大部分引擎都支持B树索引 [2]HASH索引:只有Memory引擎支持,使用场景简单 [3]R-Tree索引 ...

  3. Unity3d 镜面折射 vertex and frag Shader源代码

    Unity3d 镜面折射  网上能找到的基本上是固定管道或表面渲染的shader. 特此翻译为顶点.片段渲染的Shader, 本源代码仅仅涉及shader与cs部分, 请自行下载NGUI  unity ...

  4. <转>MySQL临时表的简单用法

    当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询. ...

  5. 用Python实现的数据结构与算法:开篇

    一.概述 用Python实现的数据结构与算法 涵盖了常用的数据结构与算法(全部由Python语言实现),是 Problem Solving with Algorithms and Data Struc ...

  6. Andrew Ng-ML-第七章-逻辑回归

    1.极大似然估计-逻辑回归代价函数的简化 Andrew Ng的ML视频上讲到:逻辑回归的代价函数可以用最大似然估计法进行简化成上图中第二个式子. 所以学习了一下极大似然估计原理: 2.求偏导 逻辑回归 ...

  7. VB.net 与线程

    Imports System.Threading Imports System Public Class Form1 Dim th1, th2 As Thread Public Sub Method1 ...

  8. spring-data-mongodb关于id的坑

    有如下Mongo记录: 在Java中对应2个类来表示此结构: public class SG_IMAGERELATION { @Id private String id; private int gi ...

  9. OO第四次阶段性总结

    测试与正确性论证的效果差异及优缺点 测试实际上就是对程序进行的一种黑箱测试,利用各种各样的测试样例去检验程序是否能够给出正确的结果.其中的单元测试则是将整体的测试拆分成单元来进行,但其仍然躲不开黑箱测 ...

  10. redis error It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. SocketFailure on PING

    应用redis出现如下错误 It was not possible to connect to the redis server(s); to create a disconnected multip ...