目的和效果:

    输入框输入字符串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. iOS连续上传多张图片

    参考地址:http://www.cocoachina.com/ios/20180730/24366.html 需求是怎样的:for 循环里面.多个网络请求上传图片,每次上传一张,至于为什么每次只上传一 ...

  2. [py]flask实现用户cmdb

    人最难做到的就是跟自己学习, 总是学习别人的, 沉淀, 过一段时间忘了刚学到的, 在向别人学习, 而非看看自己的沉淀, 殊不知, 世界上最亲近,最默契的人是自己. 用户cmdb功能概述 之前学flas ...

  3. Chrome插件汇总

    Chrome浏览器可以增加很多插件,帮助我们更方便地使用. 1   重新定位新标签页 名字:Infinity.crx 官网:http://www.infinitynewtab.com/ 效果图如下: ...

  4. 实习培训——Servlet(7)

    实习培训——Servlet(7) 1  Servlet 异常处理 当一个 Servlet 抛出一个异常时,Web 容器在使用了 exception-type 元素的 web.xml 中搜索与抛出异常类 ...

  5. spring boot 自定义过滤器链

    spring boot 会按照order值的大小,从大到小的顺序来依次过滤. 贴下代码: package com.osp.ucenter; import org.springframework.boo ...

  6. [LeetCode] 232. Implement Queue using Stacks_Easy tag: Design

    Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of ...

  7. 多项式函数插值:全域多项式插值(一)单项式基插值、拉格朗日插值、牛顿插值 [MATLAB]

    全域多项式插值指的是在整个插值区域内形成一个多项式函数作为插值函数.关于多项式插值的基本知识,见“计算基本理论”. 在单项式基插值和牛顿插值形成的表达式中,求该表达式在某一点处的值使用的Horner嵌 ...

  8. js实现网页tab选项卡切换效果

    <style> *{margin:0;padding:0;} body{font-size:14px;font-family:"Microsoft YaHei";} u ...

  9. dedecms开启报错

    php.ini里面设置display_errors = On 开启错误提示,error_reporting = E_ALL & ~E_NOTICE 设置错误等级.也可以在php文件中ini_s ...

  10. FormatMessage函数

    DWORD WINAPI FormatMessage( __in DWORD dwFlags, __in_opt LPCVOID lpSource, __in DWORD dwMessageId, _ ...