惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
F
Full Disclosure
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
L
LangChain Blog
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
GbyAI
GbyAI
Y
Y Combinator Blog
博客园 - Franky
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
Jina AI
Jina AI
N
Netflix TechBlog - Medium
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
腾讯CDC
H
Help Net Security
H
Heimdal Security Blog
J
Java Code Geeks
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
The Exploit Database - CXSecurity.com
The Register - Security
The Register - Security
大猫的无限游戏
大猫的无限游戏
T
Threatpost
B
Blog RSS Feed
T
Threat Research - Cisco Blogs
Microsoft Security Blog
Microsoft Security Blog
S
Securelist
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
量子位
AWS News Blog
AWS News Blog
Project Zero
Project Zero
P
Proofpoint News Feed
Cisco Talos Blog
Cisco Talos Blog
Spread Privacy
Spread Privacy
S
Schneier on Security

博客园 - 天天无用

jsonp原理实例及mvc中的应用 ubuntu笔记 修复MVC3中使用Remote验证的一点小问题 诺基亚手机S60系统证书申请、软件签名图文教程 JAXER留言板-一个html页面的ajax留言版 - 天天无用 - 博客园 初探JAXER Jquery插件研究:Ajax File Upload 本月wii游戏太多,感觉有点堕落 使用jQuery加DIV实现可以动态添加的金字塔结构 自制的操作下拉列表框(SELECT)的三个jquery插件(ajax填充、联动、增加选项) - 天天无用 - 博客园 Asp.net 2.0 TreeView控件使用jQuery无刷新添加节点详细说明 用jQuery实现.net 2.0 treeview客户端无刷新操作的实例 基于jQuery的AJAX和JSON实现纯html数据模板 自己写的DataTable转换成JSON字符串的函数 asp.net treeview控件无刷新选择和删除节点(使用jquery) - 天天无用 - 博客园 纵向合并gridview单元格的两种方法 .net下两种json序列化速度比对 asp.net 2.0 中 TreeView控件中的checkbox客户端操作 asp.net 2.0中根据roles显示不同的sitemap - 天天无用 - 博客园
自己写的jQuery自动完成的插件(AutoComplete)
天天无用 · 2007-11-14 · via 博客园 - 天天无用
 

      项目中要用到ajax的自动完成功能,又不想用ajax.net中的自动完成功能。干脆基于jquery自己做一个js来实现。做完后感觉还不错,就想把它直接做成jquery的插件算了,正在查怎么做jquery插件的时候,在jquery官网上发现原来已经有了自动完成插件    (︸_︸),算了还是做出来吧。

      做出来后感觉还不错,最起码比官方的要小一些,而且还没有官方的缺点(官方插件用鼠标选择后,再用键盘选择会有问题),还加上了自己需要的一些功能。

      下面介绍一下自己的成果,就是两个文件,jquery.AutoComplete.js和AutoComplete.css。先说AutoComplete.css,里面就是三个样式。

 

      所有功能都是用div实现的,.floor是下拉列表的底板的样式,.unselected和.selected是未选中和选中时的样式。样式的名称不能改,还有.floor里面visibility: hidden;position: absolute;这两个是不能改的,其他都可以自己来定义。

       再说jquery.AutoComplete.js的用法,先要在页面里引用上面的css文件,jquery-latest.pack.js(jquery文件)和jquery.AutoComplete.js文件(都是废话),然后在页面里加上下面的代码。

说明一下参数

request:必需,ajax请求的地址,只要能返回一个字符串就可以。

option:可选,用这个形式“{seperator:";",autoTab:true,parameterName:"key",kwlength:2}”

详细说明一下:

seperator:表示分隔符,默认为逗号,上面表示用分号,就是说rquest要输出一个类似“a;b;c;d”的字符串。

autoTab:表示是否按回车后自动跳转到下一个文本框,true为自动跳转。

parameterName: 回传时的参数名,如果request为data.asp,parameterName为key的话,ajax的请求为data.asp?key=***的形式,如果省略的话,就使用文本框的name属性;如果文本框name属性也没有的话,就使用文本框的id属性。(如果连id也没有的话,这个插件就不能用了)

kwlength:关键字最小长度,默认值为3,表示文本框内文本的长度最小为3时,才做ajax请求。

下面给一个完整的例子

Data.asp很简单,就是用传的参数值生成一个字符串,用分号分割;效果看下面的图

    实际使用中还是发现了一些问题,做了一些修改,样式表里.floor里面visibility: hidden;可以不用了,增加了一个.net服务器端的例子,下载处已经更新了。