jquery插件jquery.autocomplete.js的中文化、json化改造

来源:互联网 发布:c语言简明教程 编辑:程序博客网 时间:2024/04/30 04:40

项目需要,需要一个autocomplete插件,网上一搜,下载了个号称最好的jquery.autocomplete.js插件来用,插件自带的范例倒是挺好用,尝试在范例中加入中文,firefox中就不行了,依照外事不决问google的惯例,一搜,嗯,找到

这一行,在函数的最末尾

处,插入代码,结果为:

该代码作用是响应firefox中的input事件,这样,使用输入法输入中文就可以正常响应了。

好了,似乎大功告成,测试一把,在spring中的某个控制器写个函数:

满怀希望,浏览器打开,测试。。。报javascript某个split函数错误,无语了。没辙,看代码吧,原来是autocomplete插件默认处理返回内容是通过换行符分割每项内容,“|”分割每项内容中的每个字段。

虽然可以通过调用autocomplete函数时指定处理返回内容的回调函数,但这都啥年代了,不支持json格式的返回内容,那都是原始社会出来的,方便起见,还是改源码吧,开源的东西就有这个好处,看不惯,改源码,看得惯,偷源码。

言归正传,找到 function request(term, success, failure) 函数定义处,把$.ajax函数调用的dataType改为"json",找到function parse(data)函数定义处,把原来这句var rows = data.split("/n"); 改为 var rows = data;,改完的代码片段效果如下:

哈哈,这回再测试,firefox、IE6(我机器只有这两种浏览器)均没问题,打完收工!