`
yulon
  • 浏览: 116770 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jquery-autocomplete 详解(转)

阅读更多

基于jquery的autoComplete插件网上有很多,搞得都不知道用哪个好。

试了一下这个,还不错:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

第一步:了解相关依赖

* jQuery
* bgiframe plugin
* dimensions plugin, only offset method is used

第二步:提供数据

这个插件的接口autoComplete可以接收一个数组或者一个远程URL作为参数以提供数据.

Array 用数组会比较直接,性能比较好,当然效果也会比较好

URL 一般是用ajax去取数据了,但是服务器端脚本要提供相应格式的数据.至于在SGL内如何应用的详细细节我会在下一篇中详细解释.

第三步:autoComplete接口相关配置选项的解释

简单的我就不介绍了,介绍一些常用的,其它的自己参考文档

* minChars (Number): 在触发autoComplete前用户至少需要输入的字符数.Default: 1

* delay (Number): 击键后激活autoComplete的延迟时间(单位毫秒).Default: 远程为400 本地10

* cacheLength (Number): 缓存的长度.即对从数据库中取到的结果集要缓存多少条记录.设成1为不缓存.Default: 10

* matchSubset (Boolean): autoComplete可不可以使用对服务器查询的缓存,作者举了个例子是如果缓存对foo的查询结果,那么如果用户输入foot就不需要再进行检索了,直接使用缓存,好处多多啊.通常是打开这个选项以减轻服务器的负担以提高性能.只会在缓存长度大于1时有效.Default: true

* matchCase (Boolean): 比较是否开启大小写敏感开关.使用缓存时比较重要.如果你理解上一个选项,这个也就不难理解,就好比foot要不要到FOO的缓存中去找.Default: false

* matchContains (Boolean): 决定是比较时是否要比较字符串内部查看匹配,如ba是否与foo bar中的ba匹配.使用缓存时比较重要.不要和autofill混用.Default: false

* mustMatch (Booolean): 如果设置为true,autoComplete只会允许匹配的结果出现在结果时,所有当用户输入的是非法字符时将会得不到下拉框.Default: false

* extraParams (Object): 为后台(一般是服务端的脚本)提供更多的参数.和通常的作法一样是使用一个键值对对象.如果传过去的值是{ bar:4 },将会被autocompleter解析成my_autocomplete_backend.php?q=foo&bar=4 (假设当前用户输入了foo). Default: {}

* selectFirst (Boolean): 如果设置成true,在用户键入tab或return键时autoComplete下拉列表的第一个值将被自动选择,尽管它没被手工选中(用键盘或鼠标).当然如果用户选中某个项目,那么就用用户选中的值. Default: true

* formatItem (Function): 首先要明白这个选项的值是一个函数的句柄或指针.函数的作用是为每个要显示的项目使用高级标签.即对结果中的每一行都会调用这个函数,返回值将用LI元素包含显示在下拉列表中. Autocompleter会提供三个参数: 返回的结果数组, 当前处理的行数(即第几个项目,是从1开始的自然数), 当前结果数组元素的个数即项目的个数. Default: none, 表示不指定自定义的处理函数,这样下拉列表中的每一行只包含一个值.

* formatResult (Function): 和formatItem类似,但可以将将要输入到input文本框内的值进行格式化.同样有三个参数,和formatItem一样.Default: none,表示要么是只有数据,要么是使用formatItem提供的值.

* multiple (Boolean): 是否允许输入多个值即多次使用autoComplete以输入多个值. Default: false

* multipleSeparator (String): 如果是多选时,用来分开各个选择的字符. Default: “,“

* width (Number): 指定下拉框的宽度. Default: input元素的宽度

* autoFill (Boolean): 要不要在用户选择时要不要自动将用户当前鼠标所在的值填入到input框.并在用户继续输入 Default: false

* max (Number): autoComplete下拉显示项目的个数.Default: 10

分享到:
评论

相关推荐

    jQuery插件autocomplete使用详解

    autocomplete官网 : http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ (可下载jQuery autocomplete插件)。 淘宝商品搜索功能 效果: 下面来使用 autocomplete插件来实现类似效果。 1. 创建 ...

    jQuery.Autocomplete实现自动完成功能(详解)

    1、jquery.autocomplete参考地址 http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ http://docs.jquery.com/Plugins/Autocomplete 2、jquery.autocomplete详解 语法: autocomplete(urlor data, ...

    JQuery UI之Autocomplete使用详解

    JQuery UI之Autocomplete使用详解

    jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解

    本文实例讲述了jQuery autoComplete插件两种使用方式及动态改变参数值的方法。分享给大家供大家参考,具体如下: 一、一次加载、多次使用: 前端JS代码: /*客户名称自动匹配*/ function customerAutoComplete(){ ...

    使用JQuery自动完成插件Auto Complete详解

    使用JQuery自动完成插件,更新现有图书列表页面上的搜索,当用户键入的时候立即显示结果。 讨论 自动完成插件是不会象jQuery基本库一样自动包含在MVC项目中的,所以需要做的第一件事就是的是下载插件 访问...

    jQuery权威指南-源代码

    2.2 jQuery选择器详解/17 2.2.1 基本选择器/18 2.2.2 层次选择器/20 2.2.3 简单过滤选择器/22 2.2.4 内容过滤选择器/25 2.2.5 可见性过滤选择器/27 2.2.6 属性过滤选择器/28 2.2.7 子元素过滤选择器/30 ...

    jQuery权威指南366页完整版pdf和源码打包

    jquery 选择器/12 2.1 jquery选择器概述/13 2.1.1 什么是选择器/13 2.1.2 选择器的优势/13 2.2 jquery选择器详解/17 2.2.1 基本选择器/18 2.2.2 层次选择器/20 2.2.3 简单过滤选择器 2.2.4 内容过滤...

    jQuery Tags Input Plugin(添加/删除标签插件)详解

    一个jquery开发的标签功能加强插件,可以生成或删除标签,还能对输入重复标签进行检查,和JQuery autocomplete插件配合实现自动完成功能。 官网:http://xoxco.com/projects/code/tagsinput/ 截图: (下面是翻译了...

    详解jQuery UI库中文本输入自动补全功能的用法

    自动补全(autocomplete),是一个可以减少用户输入完整信息的UI 工具。一般在 输入邮箱、搜索关键字等,然后提取出相应完整字符串供用户选择。...悬停时背景的样式,可以直接通过jquery.ui.css 里面找相应的CSS

Global site tag (gtag.js) - Google Analytics