目的和效果:

    输入框输入字符串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. python count()

    count() 描述 Python count() 方法用于统计字符串里某个字符出现的次数.可选参数为在字符串搜索的开始与结束位置. 语法 count()方法语法: str.count(sub, st ...

  2. backreference Oracle正則表達式中的反向引用

      这是Oracle对正則表達式的backreference的描写叙述 从定义中能够看到,当匹配表达式中已()的形式将一个子串包括起来.后面就能够以\? 的形式来引用.\1相应第一个(),\2相应第二 ...

  3. 007-jdk1.6版本新特性

    一.JDK1.6 名称:Mustang(野马) 发布日期:2006-04 新特性: 1.1.AWT新增加了两个类:Desktop和SystemTray[忽略] 前者可以用来打开系统默认浏览器浏览指定的 ...

  4. 应用笔画宽度变换(SWT)来检测自然场景中的文本

    Introduction: 应用背景:是盲人辅助系统,城市环境中的机器导航等计算机视觉系统应用的重要一步.获取文本能够为许多视觉任务提供上下文的线索,并且,图像检索算法的性能很大部分都依赖于对应的文本 ...

  5. [py]可迭代对象-求最值

    for .. in ..方式遍历可迭代对象 而非下标 ## 判断是否可迭代 from collections import Iterable print(isinstance(123,Iterable ...

  6. 5分钟实现集群-NTP时间同步

    环境:VMware-Workstation-12-Pro,Windows-10,CentOS-7.5,Xshell5 NTP基本介绍 NTP(Network TimeProtocol,网络时间协议), ...

  7. windows server r2 之如何设置共享文件夹访问不需要输入用户名和密码

    第一步: 打开guest账号.单击桌面“开始”按钮,找到“控制面板”并打开,选择“用户帐户”并单击就会弹出一个窗口,继续单击下方的“管理其他帐户”,然后选择“Guest”,点击“启用”. 第二步: 在 ...

  8. 支持向量机:Numerical Optimization,SMO算法

    http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html 另外一篇:http://www.cnblogs.com/vivouni ...

  9. [LeetCode] 628. Maximum Product of Three Numbers_Easy

    Given an integer array, find three numbers whose product is maximum and output the maximum product. ...

  10. linux cut字符串切割

    linux字符串列截取  cut  -d ‘分割条件’ -f ‘列数’ [root@LocalWeb01 ~]# less  /etc/passwd | grep '^user' | grep -v ...