让我们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="jquery.min.js"></script>
<script type="text/javascript" src="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回调选项中完成浏览器重定向。

很简单吧!这个例子演示了一部分基本的概念,潜在的夸张可以更加丰富。自己尝试一下,我认为你会很惊奇马可波罗竟然如此的灵活。

Manifest

Manifest是一个添加更多惊喜到多选输入的插件。Email地址中的接受字段是一个非常好的例子。你可以只简单提供一般文本输入,要求用户使用分号手工分开每一个收件人。 但是移除收件人是一个费劲的事情,但是使用这个插件,你知道用户会非常高兴这种用户操作体验的。

原文来自: GBin1插件之马可波罗(Marco Polo),jQuery的自动补齐插件 - Autocomplete Plugin

GBin1插件推荐之马可波罗(Marco Polo),jQuery的自动补齐插件 - Autocomplete Plugin的更多相关文章

  1. CentOS 7下的Vim自动补齐插件YouCompleteMe安装及配置

    备注:现在对于 YouCompleteMe 的安装应采用更为简单的方法,即利用 Vundle 来安装这个插件.具体方法可见: Vundle 主页 YouCompleteMe 主页 而 .vimrc 的 ...

  2. vim里添加自动补齐插件,与python 函数补齐

    参考  http://www.jb51.net/article/58009.htm 将 # cat ~/.vimrc filetype plugin on let g:pydiction_locati ...

  3. jupyter notebook 代码自动补齐插件

    安装: . pip install jupyter_contrib_nbextensions -i https://pypi.mirrors.ustc.edu.cn/simple 2. jupyter ...

  4. VIM自动补全插件 - YouCompleteMe--"大神级vim补全插件"

    VIM自动补全插件 - YouCompleteMe 序言 vim 之所以被称为编辑器之神多半归功于其丰富的可DIY的灵活插件功能,( 例如vim下的这款神级般的代码补全插件YouCompleteMe) ...

  5. Vimer的福音 新时代的Vim C++自动补全插件 clang_complete

    使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插件都是对 Ctags 生成的符号表进行字符串匹配来获得可能的补全项.他们在编写 C 代码 ...

  6. 新时代的Vim C++自动补全插件 clang_complete

    Vimer的福音 新时代的Vim C++自动补全插件 clang_complete   使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插 ...

  7. 【转】Vim自动补全插件----YouCompleteMe安装与配置

    原文网址:http://www.cnblogs.com/zhongcq/p/3630047.html 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assis ...

  8. Vim自动补全插件----YouCompleteMe安装与配置

    Vim自动补全插件----YouCompleteMe安装与配置 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assist X这么方便快捷的补全插件呢?以前用 ...

  9. vim python自动补全插件:pydiction

    vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.pyt ...

随机推荐

  1. HDOJ--4869--Turn the pokers【组合数学+高速幂】

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4869 题意:有m张扑克.開始时所有正面朝下.你能够翻n次牌,每次能够翻xi张.翻拍规则就是正面朝下变背面朝 ...

  2. oracle修改登录认证方式

    通过配置sqlnet.ora文件,我们可以修改oracle登录认证方式. SQLNET.AUTHENTICATION_SERVICES=(NTS);基于操作系统的认证 SQLNET.AUTHENTIC ...

  3. JDBC操作数据库 封装好的工具类

    mysql sqlserver oracle 数据库的驱动jar包http://download.csdn.net/download/csdn576038874/8833683package cn.h ...

  4. HTTP基础:URL格式、 HTTP请求、响应、消息

    HTTP URL 格式: http://host[:port][abs_path] 其中http表示要通过HTTP协议来定位网络资源. host表示合法的Internet主机域名或IP地址(以点分十进 ...

  5. PHP之APC缓存详细介绍

    1.APC缓存简介 APC,全称是Alternative PHP Cache,官方翻译叫"可选PHP缓存".它为我们提供了缓存和优化PHP的中间代码的框架. APC的缓存分两部分: ...

  6. tomcat中jsp编译

    tomcat运行的工程中,jsp替换文件后可能不起作用.原因是jsp也是需要编译的.编译后的文件存放在tomcat/work文件夹下.如果替换不起作用,可以将work文件夹下的内容删除掉,重新启tom ...

  7. 多个互相有联系的checkbox的单选逻辑

    checkbox单选的状态逻辑,状态好的时候一下就写好了,状态不好的时候要调试比较久,当然主要是对其中的事件不太清楚. 先给出效果图吧. 然后给出代码, selectZhiFuBaoPay.setOn ...

  8. ASP.NET Web API 通过参数控制返回类型(JSON|XML)

    一个很实用的技巧,可以在访问web api服务的时候指定返回数据的格式类型,比如 json 或者 xml. 因为 web api 默认返回的是XML格式,但是现在json 比较流行,同时网上也有其他的 ...

  9. jquery 关于event.target使用的几点说明介绍

    event.target说明:引发事件的DOM元素. this和event.target的区别js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的 ...

  10. centos 彻底卸载mysql

    yum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/my.cnf查看是否还有mysq ...