jQuery.Autocomplete实现自动完成功能

时间:2023-01-07 13:54:50

一、http://www.w3c.com.cn/jquery-plugin-autocomplete-参数及实例

二、jQuery plugin: Autocomplete 参数

  minChars: 0,          //至少输入的字符数,default:1;如果设为0,在输入框内双击或者删除内容时显示列表。
  width: 220,          //下拉框的宽度,default:input元素的宽度
  max: 10,            //下拉项目的个数,default:10
  scrollHeight: 300,       // 下拉框的高度, Default: 180
  scroll: true,         //当结果集大于默认高度时,是否使用滚动条,Default: true
  multiple: false,         //是否允许输入多个值. Default: false
  autoFill: false,        // 是否自动填充. Default: false
  multipleSeparator: " ",   //输入多个字符时,用来分开各个的字符. Default: ","
  matchCase:false,     //是否开启大小写敏感
  selectFirst:true,       // 如果设置成true,下拉列表的第一个值将被自动选择, Default: true
  matchSubset:true,     //是否启用缓存
  cacheLength: 10,       //缓存的长度.即缓存多少条记录.设成1为不缓存.Default: 10
  delay: 20,          //击键后的延迟时间(单位毫秒).Default: 远程为400 本地10
  mustMatch:false,      //如果设置为true,只会允许匹配的结果出现在输入框,当用户输入的是非法字符时,将被清除, Default: false
  matchContains:true,    //决定比较时是否要在字符串内部查看匹配.Default: false
  formatItem: function(row, i, max) { }
    //结果中的每一行都会调用这个函数,返回值将用LI元素包含,显示在下拉列表中. 三个参数(row, i, max): 返回的结果数组, 当前处理的行数(从1开始), 当前结果数组元素的个数. Default: none, 表示不指定自定义的处理函数.
  formatResult : function(row, i, max) { }
    //和formatItem类似,但可以将将要输入到input文本框内的值进行格式化.同样有三个参数,和formatItem一样.Default: none,表示要么是只有数据,要么是使用formatItem提供的值.
  formatMatch: function(row) { }
    //对每一行数据使用此函数格式化需要查询的数据格式. 返回值是给内部搜索算法使用的. 参数值row
  result (function(event, data, formatted){}) //此事件会在用户选中某一项后触发,参数为:event: 事件对象, data: 选中的数据行,formatted:formatResult函数返回的值;
    例如: $("#d").result(function(event, data, formatted){alert(formatted);})
  extraParams (Object):
   //为后台(一般是服务端的脚本)提供更多的参数.和通常的作法一样是使用一个键值对对象.如果传过去的值是{ bar:4 },将会被autocompleter解析成my_autocomplete_backend.php?q=foo&bar=4 (假设当前用户输入了foo). Default: {}