目的和效果:

    输入框输入字符串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. 了解Linux的进程与线程

    了解Linux的进程与线程 http://timyang.net/linux/linux-process/ 上周碰到部署在真实服务器上某个应用CPU占用过高的问题,虽然经过tuning, 问题貌似已经 ...

  2. cookie和session的使用

    http://www.cnblogs.com/linguoguo/p/5106618.html 1:在控制器中添加session和cookie @RequestMapping("/getin ...

  3. Scala系统学习(五):Scala访问修辞符

    本章将介绍Scala访问修饰符.包,类或对象的成员可以使用私有(private)和受保护(protected)的访问修饰符进行标注,如果不使用这两个关键字的其中一个,那么访问将被视为公开(public ...

  4. Spark Storage(一) 集群下的区块管理

    Storage模块 在Spark中提及最多的是RDD,而RDD所交互的数据是通过Storage来实现和管理 Storage模块整体架构 1. 存储层 在Spark里,单节点的Storage的管理是通过 ...

  5. Java jdbc 操作数据库详解

    原文地址https://www.cnblogs.com/huguodong/p/5910859.html JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  6. iOS9 & iOS10 & iOS11 HTTP 不能正常使用的解决办法

    iOS9 & iOS10 & iOS11 HTTP 不能正常使用的解决办法 xcode  ios 291.4k 次阅读  ·  读完需要 8 分钟 54 今天升级Xcode 7.0 b ...

  7. 第六章 数据库设计之ER模型

    在ER图中实体用方框表示 实体其实就相当于一个二维表,实体实例就相当于二维表中的一行 属性在二维表中用椭圆表示,属性就是描述实体特征的数据项 概念:键(也被成为候选键):1,属性集合K上的行唯一   ...

  8. yii2 restful api --app接口编程

    转 http://www.yiichina.com/tutorial/1143yii2中restful url访问配置, 登陆接口access-token验证类 [ 2.0 版本 ] 登陆接口acce ...

  9. readyState与status

    XMLHttpRequest对象(Ajax)的状态码(readystate) 当一个XMLHttpRequest初次创建时,这个属性的值是从0开始,知道接收完整的HTTP响应,这个值增加到4.有五种状 ...

  10. VisualStudio: 窗口背景颜色设置成黑色

    Tools>Options>Environment>General >Color theme