转载自:http://dada-fangfang.iteye.com/blog/695464

首先下载jquery.js和jquery.autocomplete.js

注意:jquery.js 要放在jquery.autocomplete.js前面。 

还有个样式jquery.autocomplete.css , 随意下载。 



首先js代码如下 

$().ready(function() { 

$("#searchText").autocomplete("$!  {request.contextPath}/hrHiPersons!ajaxSelectPerson.action", { 

minChars: 0, 

max: 12, 

autoFill: true, 

mustMatch: true, 

matchContains: false, 

scrollHeight: 220, 

            formatItem: function(item) { 

                return item[0]; 

            } 

}); 

}); 

struts2的url应该不陌生吧 

autocomplete的参数,这里不写了,可以参考 

http://chenling1018.blog.163.com/blog/static/148025420101250354380/ 

他写的很详细,我也测过,基本都描述的差不多. 



以前js方法的item参数,就是后台返回的json流,一下是java代码 

public String ajaxSelectPerson(){ 

try { 

String search = getRequest().getParameter("q"); 

if(search==null||search.length()==0) return null; 

List<String> names = new ArrayList<String>(); 

                   names.add("张三"); 

                   names.add("李四"); 

                   names.add("王五"); 

                  getResponse().setCharacterEncoding("UTF-8"); 

JSONArray json = JSONArray.fromObject(names); 

PrintWriter out = getResponse().getWriter(); 

out.print(json); 

        out.flush(); 

        out.close(); 

        return null; 

} catch (Exception e) { 

e.printStackTrace(); 



return null; 



他默认是get提交,而且默认接受的参数是q,一般不用修改。 

其次主要是乱码的问题,ajax的传输都是utf-8,所以我们尽量都转成utf-8(tomcat,jsp),然后把response也设置成utf-8,这样中文就没问题了。 

还有个忘了说, 需要修改autocomplete的源码,主要是为了中文的输入识别问题 

在199-200行 

$(input.form).unbind(".autocomplete"); 



修改为: 

$(input.form).unbind(".autocomplete").bind("input", function() {   

     onChange(0, true);   

});

OK了,效果还是不错的,比原先手写的jquery代码好多了,简单实用。

自己做的jquery的autocomplete的一个例子的更多相关文章

  1. jquery ui autocomplete 实现点击文本框,出现所有查询信息效果,与bootstrap结合使用修改样式

    直接看代码 <!doctype html> <html lang="en"> <head> <meta charset="utf ...

  2. jQuery ui autocomplete下拉列表样式失效解决,三种获取数据源方式,

    jQuery有很多很多的已经实现,很漂亮的插件,autocomplete就是其中之一.jQuery ui autocomplete主要支持字符串Array.JSON两种数据格式,jQuery ui b ...

  3. jQuery UI Autocomplete是jQuery UI的自动完成组件(share)

    官网:http://jqueryui.com/autocomplete/ 以下分享自:http://www.cnblogs.com/yuzhongwusan/archive/2012/06/04/25 ...

  4. jQuery UI Autocomplete Combobox 配 ASP.NET DropDownList

    0.引言   1.起因                  一开始使用Autocomplete做了一个自动补全的文本框,如上图.后来因业务需要希望能在这个文本框的边上做个下拉列表按钮,一按就展开所有支持 ...

  5. jQuery UI Autocomplete是jQuery UI的自动完成组件

    支持的数据源 jQuery UI Autocomplete主要支持字符串Array.JSON两种数据格式. 普通的Array格式没有什么特殊的,如下: ? 1 ["cnblogs" ...

  6. jQuery UI AutoComplete的使用

    现场提出优化单,Table Mapping里关于获取数据源下所有表名的地方由于表数量过多选择不便,需添加搜索功能.原本的实现是一个Dialog ,现打算将其改为AutoComplete. 框架使用的是 ...

  7. Jquery ui autocomplete简单api

    重要说明:与配置选项类似,Autocomplete插件的方法也不是直接调用,而且通过autocomplete()方法进行间接调用.例如: $("#title").autocompl ...

  8. jQuery 插件autocomplete

    jQuery 插件autocomplete 自动加载 参考: http://www.cnblogs.com/Peter-Zhang/archive/2011/10/22/2221147.html ht ...

  9. jQuery plugin: Autocomplete 参数及实例

    官网:jQuery plugin: Autocomplete          (注:此插件已经不再更新.它的继任者是jQuery UI的一部分,) 此插件依赖于 jquery 1.2.6 --- j ...

随机推荐

  1. maven项目中没有resource文件夹的问题

    之前使用eclipse创建maven项目,文件夹都是建好的,这几次创建,都没有resource文件夹,需要手动创建resource. 现象描述 在eclipse中,创建maven项目有两种方式: 一种 ...

  2. Python面向对象-类成员

    类的成员可以分为三大类:字段.方法和属性: 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在 ...

  3. 声明变量&定义变量

            从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存.而定义就是分配了内存.这对于以关键字extern进行声明是一定成立的,而对声明格式“ ...

  4. Python学习之路1 - 基础入门

    本文内容 Python介绍 安装Python解释器 输出 变量 输入 条件判断语句 循环语句 模块讲解 三元运算 字符串和二进制的相互转化 本系列文章使用的Python版本为3.6.2 使用开发工具为 ...

  5. Java学习个人备忘录之继承

    继承的好处1. 提高了代码的复用性.2. 让类与类之间产生了关系,给第三个特征多态提供了前提. java中支持单继承,不直接支持多继承,但对C++中的多继承机制进行改良.java支持多层继承. C继承 ...

  6. Java package和import语句

    Java中的package和import语句 如果你想让其他人访问你的类,你一定要把你写的类放到正确的子目录下. 在Java里,对于位于包中的类是这样管理的: Java编译器把包对应于文件系统的目录管 ...

  7. Swagger字段说明

    常用字段说明 字段 说明 schemes 使用协议(如:http.https) host 项目地址,这个地址会作为每个接口的url base,拼接起来一起作为防伪地址 consumes 接口默认接收的 ...

  8. C#Color颜色表

    Color.AliceBlue 240,248,255 Color.LightSalmon 255,160,122 Color.AntiqueWhite 250,235,215 Color.Light ...

  9. [C/C++] 大小端存储问题

    首先来看一下今天做的一道题: 解析: union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据 ...

  10. 关于__name__=='__main__

    if __name__=='__main__' :  为了区分你是主动执行这个脚本,还是从别的地方把它当做一个模块去调用. 如果是主动执行,则执行.如果是调用的,则不执行主体. 里面存放的可能是一些测 ...