这是一款轻量级的jquery自动完成插件。该jquery自动完成插件支持ajax。用户在输入框中输入内容时,插件会自动搜索指定的数组对象,或json对象,完成自动补全。

使用方法

在页面中引入jquery,void_autocomplete.js和样式文件void_autocomplete.css。

<link rel="stylesheet" type="text/css" href="css/void_autocomplete.css">
<script src="path/to/jquery.min.js" type="text/javascript"></script>
<script src="path/to/void_autocomplete.js" type="text/javascript"></script>
                
基本使用方法

该jquery自动完成插件最基本的使用方法如下:

//如果你不使用ajax,你需要在数组中放入以组需要自动完成的选项对象
var celestial_bodies = [
  {title:"Earth", id:"1"},
  {title:"Moon", id:"2"},
  {title:"Sun", id:"3"}
];
 
var myAutocomplete = $("input").void_autocomplete({
  list: celestial_bodies,
  onItemSelect: function(){console.log(item);}
});
                
通过ajax调用

通过这种方法,当输入框中的内容改变的时候,会产生一个ajax调用,并接收用户的输入,通过json文件来查找相应的内容。

var ajax_url = "json/list.json";
 
var myAutocomplete = $("input").void_autocomplete({
  ajax: ajax_url,
  onItemSelect: autocompleteCallback,
  maxResults: 10
});
 
// This function is called whenever
// an option is selected in the autocomplete
 
function autocompleteCallback(selected){
    console.log(selected);
}                  
                

配置参数

该jquery自动完成插件的可用配置参数有:

  • min:产生自动完成的最小字符数。默认值为1。
  • selections:0表示允许多个选项,1表示只允许一个选项。默认为0。
  • openUp:如果为true,打开的列表向上,覆盖输入框。否则列表向下。默认为false
  • list:一个数组,包含要自动完成的列表对象。
  • caseSensitive:是否大小写敏感。默认为false
  • maxResults:列表中显示的最大项目数量。默认为10个。
  • sortKey:列表中字符串的排序方式。默认为false
  • ajax:是否使用ajax调用。默认为false
  • onItemSelect:列表中的选项被选择时的回调函数。
var myAutocomplete = $("input").void_autocomplete({
  min: 1,
  selections: 0,
  openUp: false,
  list: [],
  caseSensitive: false,
  maxResults: 10,
  sortKey: false,
  ajax: false,
  onItemSelect: function(){}
});                  
                

方法

  • forceItem:强制插入一个新的列表项,并触发回调函数。
  • recoverItem:取消先前选择的项目并触发回调。
var myAutocomplete = $("input").void_autocomplete({
  selections: 1,
  list: celestial_bodies
});
 
var pluto = {
  title:"Pluto",
  id:"11"
};
 
myAutocomplete.forceItem(pluto);                 
                

advanced-autocomplete.jquery自动完成插件的github地址为:https://github.com/alotropico/advanced-autocomplete.jquery