一,属性介绍

* minChars (Number)
  在触发autoComplete前用户至少需要输入的字符数.Default: 1,如果设为0,在输入框内双击或者删除输入框内内容时显示列表
* width (Number)
  指定下拉框的宽度. Default: input元素的宽度
* max (Number)
  autoComplete下拉显示项目的个数.Default: 10
* delay (Number)
  击键后激活autoComplete的延迟时间(单位毫秒).Default: 远程为400 本地10
* autoFill (Boolean)
  要不要在用户选择时自动将用户当前鼠标所在的值填入到input框. Default: false
* mustMatch (Booolean)
  如果设置为true,autoComplete只会允许匹配的结果出现在输入框,所有当用户输入的是非法字符时将会得不到下拉框.Default: false
* matchContains (Boolean)
  决定比较时是否要在字符串内部查看匹配,如ba是否与foo bar中的ba匹配.使用缓存时比较重要.不要和autofill混用.Default: false
* selectFirst (Boolean)
  如果设置成true,在用户键入tab或return键时autoComplete下拉列表的第一个值将被自动选择,尽管它没被手工选中(用键盘或鼠标).当然如果用户选中某个项目,那么就用用户选中的值. Default: true
* cacheLength (Number)
  缓存的长度.即对从数据库中取到的结果集要缓存多少条记录.设成1为不缓存.Default: 10
* matchSubset (Boolean)
  autoComplete可不可以使用对服务器查询的缓存,如果缓存对foo的查询结果,那么如果用户输入foo就不需要再进行检索了,直接使用缓存.通常是打开这个选项以减轻服务器的负担以提高性能.只会在缓存长度大于1时有效.Default: true
* matchCase (Boolean)
  比较是否开启大小写敏感开关.使用缓存时比较重要.如果你理解上一个选项,这个也就不难理解,就好比foot要不要到FOO的缓存中去找.Default: false
* multiple (Boolean)
  是否允许输入多个值即多次使用autoComplete以输入多个值. Default: false
* multipleSeparator (String)
  如果是多选时,用来分开各个选择的字符. Default: ","
* scroll (Boolean)
  当结果集大于默认高度时是否使用卷轴显示 Default: true
* scrollHeight (Number)
  自动完成提示的卷轴高度用像素大小表示 Default: 180 
* formatItem (Function)
  为每个要显示的项目使用高级标签.即对结果中的每一行都会调用这个函数,返回值将用LI元素 包含显示在下拉列表中. Autocompleter会提供三个参数(row, i, max): 返回的结果数组, 当前处理的行数(即第几个项目,是从1开始的自然数),

  当前结果数组元素的个数即项目的个数. Default: none, 表示不指定自定义的处理函数,这样下拉列表中的每一行只包含一个值.
* formatResult (Function)
  和formatItem类似,但可以将将要输入到input文本框内的值进行格式化.同样有三个参数,和formatItem一样.Default: none,表示要么是只有数据,要么是使用formatItem提供的值.
* formatMatch (Function)
  对每一行数据使用此函数格式化需要查询的数据格式. 返回值是给内部搜索算法使用的. 参数值row
* extraParams (Object)
  为后台(一般是服务端的脚本)提供更多的参数.和通常的作法一样是使用一个键值对对象.如果 传过去的值是{ bar:4 },将会被autocompleter解析成my_autocomplete_backend.php?q=foo&bar=4 (假设当前用户输入了foo). Default: {}
* result (handler)
  此事件会在用户选中某一项后触发,参数为:
    event: 事件对象. event.type为result.
    data: 选中的数据行.
    formatted:formatResult函数返回的值

二、支持中文

  网上很多介绍修改源码以支持firefox的中文检索,其实没有可以直接写一下代码解决,因为firefox对keyup的支持是没问题的。

  $("ele").on("keyup",function(){

        $(this).keydown();
});

三、eg:

function bindAutoComplete(){
  $("input[name^='xxx']").autocomplete(data, {
    mustMatch:true, //文本框里输入的内容,必须是data参数里的数据,如果不匹配,文本框就被清空
    selectFirst:true, //在用户键入tab或return键时autoComplete下拉列表的第一个值将被自动选
    scroll:true, //使用卷轴显示
    minChars: 0, //在自动完成激活之前填入的最小字符,设置为0,在我们双击文本框不输入字符的时候,就会把数据显示出来
    cacheLength:1, //缓存的长度.即对从数据库中取到的结果集要缓存多少条记录.设成1为不缓存.Default: 10
    max:80, //下拉框中显示的数据条数
    width: 400, //指定下拉框的宽度
    scrollHeight: 250, //自动完成提示的卷轴高度用像素大小表示 Default: 180
    matchContains: true, //表示包含匹配,就是data参数里的数据,是否只要包含文本框里的数据就显示 ,比如我们输入了“g”,能显示"Google"和"Sogou",如果将matchContains设为fasle,则“Sogou”就不会显示。
    autoFill: false, //要不要在用户选择时自动将用户当前鼠标所在的值填入到input框. Default: false
    

    formatItem: function(row, i, max) { //以格式化列表中的 条目,其代表的是显示的格式

      return i + "/" + max + ": \"" + row.name + "\" " + " ["+row.charger+"] ";
    },
    formatMatch: function(row, i, max) { //配合formatItem使用,表示匹配的内容,表示用户输入的内容在哪些数据项里面搜索
      return row.name+" "+row.charger;
    },
    formatResult: function(row) { //是定义最终返回的数据
      var firstChar=row.name.charAt(0);
      //如果首字符非英文,删除首字符后返回,用于中文查询的实现
      if(!(firstChar>='a'&&firstChar<='z'||firstChar>='A'&&firstChar<='Z')&&!(firstChar>='0'&&firstChar<='9'))
        return row.name.substr(1,row.name.length);
      else
        return row.name;
    }
  });
  //选中的结果交给result中的function cascadeInvoiceChangeProjectInfo()进一步处理
  $("input[name^='xxx']").result(cascadeInvoiceChangeProjectInfo);
}

jQuery自动完成组建Autocomplete的更多相关文章

  1. jQuery UI 实例 - 自动完成(Autocomplete)

    http://www.runoob.com/jqueryui/example-autocomplete.html 自定义数据并显示 您可以使用自定义数据格式,并通过简单地重载默认的聚焦和选择行为来显示 ...

  2. JQuery 插件之Ajax Autocomplete(ajax自动完成)搜索引擎自动显示下拉框

    平时用百度,谷歌搜索的时候 会有一个下 拉列表进行提示 这是一个非常好的功能 本文要介绍的这个JQuery 插件 名叫Ajax Autocomplete 顾名思义 ajax 也就是用ajax的方式获取 ...

  3. JQuery 插件之Ajax Autocomplete(ajax自动完成)

    平时用百度,谷歌搜索的时候 会有一个下 拉列表进行提示 这是一个非常好的功能 本文要介绍的这个JQuery 插件 名叫Ajax Autocomplete 顾名思义 ajax 也就是用ajax的方式获取 ...

  4. jQuery 自动完成文本框

    jQuery自动完成插件开源软件 http://www.oschina.net/project/tag/329/jquery-autocomplete jQuery TextExt http://te ...

  5. jquery自动填充输入框

    1,这是一个比较简单的页面,你可以复制下来就可以使用.<!doctype html><html lang="en"><head> <met ...

  6. jQuery框架学习第十一天:实战jQuery表单验证及jQuery自动完成提示插件

    jQuery框架学习第一天:开始认识jQueryjQuery框架学习第二天:jQuery中万能的选择器jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQuer ...

  7. jQuery自动加载更多程序

    1.1.1 摘要 现在,我们经常使用的微博.微信或其他应用都有异步加载功能,简而言之,就是我们在刷微博或微信时,移动到界面的顶端或低端后程序通过异步的方式进行加载数据,这种方式加快了数据的加载速度,由 ...

  8. Eclipse 支持jQuery 自动提示

    1.下载jQuery文件 http://download.csdn.net/detail/emoven/6294377 2.设置spket Window -> Preferences -> ...

  9. 让你的MyEclipse具有jquery自动提示

    想让你的MyEclipse支持Jquery的自动提示更简单一些,照下图完成即可:      照上面图示已经完成了Jquery自动提示的配置,此时spket已经有两种AJAX库的自动提示,通过右边的De ...

随机推荐

  1. 关于VS项目平台的x86,x64,Any CPU以及Debug和Release的区别

    相信对于很多刚接触打包程序的同志来说,关于x86,x64,Any CPU这三个项目平台,以及解决方案配置Debug和Release有什么区别?这个问题一定有许多的困惑,甚至不乏一些已经工作了很久的老程 ...

  2. Get,Post请求中文乱码问题有效解决方法

    本文主要介绍如何有效解决web请求中的乱码问题,其实解决方法有很多种,不同的请求类型解决方法也不相同. 本文只介绍最方便的一种: 1.先修改jsp中的编码方式 2.针对Post方式提交的请求如果出现乱 ...

  3. Ibatis中常见错误解决方案

    在Ibatis 的sqlMap或者sqlMapConfig配置文件中如果出现以下错误信息: Referenced file contains errors (http://www.ibatis.com ...

  4. 2016 年青岛网络赛---Family View(AC自动机)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5880 Problem Description Steam is a digital distribut ...

  5. [javaSE] 反射-Class类的基本操作

    获取类的名称 获取该类的方法 获取方法的返回值类型 获取方法的名称 获取方法的参数的类型 package com.tsh.reflect; import java.lang.reflect.Metho ...

  6. Java知识体系

    Java知识体系 java知识结构.jpg web框架.jpg 计算机课程体系.png 2016-08-19_090929.png 流行的哈希算法生存状况.jpg "JAVA之父" ...

  7. GJM :FPSCalc-简单FPS观测类 [转载]

    版权声明:本文原创发表于 [请点击连接前往] ,未经作者同意必须保留此段声明!如有侵权请联系我删帖处理! FPSCalc--简单FPS观测类 利用Unity做的手游项目很多时候要保证流畅度,流畅度最直 ...

  8. HTML5 Canvas 实现的9个 Loading 效果

    Sonic.js 是一个很小的 JavaScript 类,用于创建基于 HTML5 画布的加载图像.更强大的是 Sonic.js 还提供了基于现成的例子的创建工具,可以帮助你实现更多自定义的(Load ...

  9. JS Nice – JavaScript 代码美化和格式化工具

    JS Nice 是一款让经过混淆处理的 JavaScript 代码可读更好的工具.它使用一种新型的用于 JavaScript 代码美化的去混淆和去压缩引擎.JSNice 采用先进的机器学习和程序分析技 ...

  10. JavaScript事件对象

    一. 事件对象 事件处理三部分组成:对象.事件处理函数=函数.例如:单击文档任意处. 1.鼠标按钮 非 IE(W3C)中的 button 属性 0 表示主鼠标按钮(常规一般是鼠标左键) 1 表示中间的 ...