让我们Google一下"jQuery autocomplete plugin"(jquery自动补齐插件)。在过去的4年中,我已经Google了很多次这个组合了。然而结果并没有变化多少。这里有很多的选择,但是没有哪一个让我能够很有信心的去应用到产品程序中。 说实话对于选择jQuery插件来说我很挑剔。如果我的用户对于插件有问题的话,那么我就得自己处理。我其实不想担心太多的 ...
让我们Google一下"jQuery autocomplete plugin"(jquery自动补齐插件)。在过去的4年中,我已经Google了很多次这个组合了。然而结果并没有变化多少。这里有很多的选择,但是没有哪一个让我能够很有信心的去应用到产品程序中。
说实话对于选择jQuery插件来说我很挑剔。如果我的用户对于插件有问题的话,那么我就得自己处理。我其实不想担心太多的第三方代码,因此我自己开发了一个jQuery使用准则用来衡量需要考虑的一些问题。没有特别的顺序:插件必须有很好的文档和注释,过去6个月内有维护和更新,很少有问题,遵循现代jQuery编码规范,非常灵活,能满足我80%的需要,没有大量我不使用的功能。没有任何一个自动补齐的插件满足上面的准则。
马可波罗(Marco Polo)——自动补齐插件
因此我决定自己编写一个。 了解一下马可波罗(Marco Polo),一个为独具慧眼的开发人员准备的jQuery自动补齐插件。我认为你会喜欢它,特别是如果你也使用我的方法来选择jQuery插件的话。但是,不要仅仅听我说,你最好自己试试演示,看看文档,在自己的系统中使用一下这个插件。这里有一个快速帮助来解释如何使用这个插件。
开始先包含jQuery和马可波罗到你的HTML:
<script type="text/javascript" src="http://www.iteye.com/news/jquery.min.js"></script><script type="text/javascript" src="http://www.iteye.com/news/jquery.marcopolo.min.js"></script>
下一步,添加输入框:
<input type="text" name="userSearch" id="userSearch" />
然后,将插件关联到输入框
$('#userSearch').marcoPolo({ url: '/users/search', formatItem: function (data, $item) { return data.first_name + ' ' + data.last_name; }, onSelect: function (data, $item) { window.location = data.profile_url; } });
当搜索开始时,一个GET请求url将会通过q(搜索关键字)添加到查询字符串中。我们使用Butler来查询。一个GET请求将创建到/users/search?q=Butler。你的后台程序必须使用q参数来查找和返回JSON数据格式得用户,如下:
[ { first_name: 'James', last_name: 'Butler', profile_url: '/users/78749', … }, { first_name: 'Win', last_name: 'Butler', profile_url: '/users/41480', … }, … ]
每一个JSON用户对象将传送到formatItem的回调选项中用来显示结果列表。当一个用户被选择到的时候,他们的JSON对象就会传送到onSelect回调选项中完成浏览器重定向。
很简单吧!这个例子演示了一部分基本的概念。自己尝试一下,我认为你会很惊奇马可波罗竟然如此的灵活。
演示:DEMO
下载:https://github.com/jstayton/jquery-marcopolo
Manifest——多值输入插件
Manifest是一个可以为多值输入增加更多惊喜的插件。Email地址中的多个收件人字段是一个非常好的例子,你可以只简单提供一般文本输入,要求用户使用分号手工分开每一个收件人。 但是移除收件人是一个费劲的事情,但是使用这个插件,你知道用户会非常高兴这种用户操作体验的。
演示:DEMO
下载:https://github.com/jstayton/jquery-manifest
原文:Justin Stayton - jquery4u.com
标签: 插件 优秀 jQuery 自动 补齐 多值 输入 推荐
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!