jquery autocomplete插件 实现输入框自动补全

6 篇文章 0 订阅
3 篇文章 0 订阅
本文介绍了如何使用jQuery的autocomplete插件在jsp页面上创建一个输入框,通过ajax请求从数据库获取提示内容,实现实时自动补全功能。详细步骤包括添加html输入框、引入必要的css和js文件、编写ajax请求以及后台action处理,特别指出需要的jar包以避免运行时错误。
摘要由CSDN通过智能技术生成

需求:如图

提示内容从数据库中取得。

1.jsp页面加入输入框

<s:textfield name="bookName" id="bookName"></s:textfield>

也可用纯html标签。

2.jsp页面加入 autocomplete插件的css和js文件,另外还有jquery的js文件

<script type="text/javascript" src="js/jquery.min.js"></script>
<!-- 引入jQuery UI的css文件 -->
<link href="http://code.jquery.com/ui/1.10.4/themes/ui-darkness/jquery-ui.css" />
<!-- 引入jQuery的js文件 -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js" ></script>
<!-- 引入jQuery UI的js文件 -->
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.js" ></script>

3.写ajax请求

<script type="text/javascript"><!--
 $(function(){
  $("#bookName").autocomplete({
                 minLength:1,//输入一个字符则触发事件
                 autoFocus:true,
                 source:function(request,response){
                     $.ajax({
                         type:"POST",
                         url:"book_autoComplete.action",
                         dataType:"json",
                         data:{ bookName :  $("#bookName").val() },
                         success:function(json){
                             response($.map(json.autoSuggests,function(item){
                                return {
                                     label:item,
                                     value:item
                                 };
                             }));
                        }
                     });
               }
    });          
})
</script>

4.写action:book_autoComplete.action
该action方法 从数据库中找到符合要求的集合,拿出指定字段

public String autoComplete(){
        System.out.println("bookAction+autocomplete"+bookName);
        bookList = bookService.bookVague(bookName);
        for(Book book : bookList){
            autoSuggests.add(book.getBookName());
        }                
        return "bookVague";
    }

autoSuggests为需要传送的json数据,此处采用注解方式

    //作为JSON数据返回,设置serialize=false
    @JSON(serialize=true)
    public List<String> getAutoSuggests() {
        return autoSuggests;
    }

注意一定要加的jar包
s-struts2-json-plugin-struts2-json-plugin-2.3.16.1.jar
c-commons-lang3-commons-lang3-3.1.jar
否则报错:
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils

5.具体的 daoimpl 省略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值