Installation
- Add jQuery
- Add void_autocomplete.js
- Add void_autocomplete.css
Basic usage
//如果你不使用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);}
});
Using it with an ajax call
When the input changes, a call is made, retrieving the results for the user input.
If "list.php/" is provided, "list.php/userInput" will be called, and so on.
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);
}
All options
- min: Minimum amount of characters in the input before open the autocomplete. Default: 1
- selections: 0 to allow any number of selections. 1 for a single selection. Default: 0
- openUp: If true, opens the list up, over the input. Otherwise it opens down. Default: false
- list: Array of objects to list as options. Default: empty
- caseSensitive: If the search will be case sensitive. Default: false
- maxResults: Maxium amount of items to display as an autocomplete suggestion. Default: 10
- sortKey: The key that defines in which order the list items will be displayed. Default: false (sorts by coincidence)
- ajax: Minimum amount of characters in the input before open the autocomplete. Default: false
- onItemSelect: Callback function, triggered whenever the user makes a selection. Default: none
// Default setup
var myAutocomplete = $("input").void_autocomplete({
min: 1,
selections: 0,
openUp: false,
list: [],
caseSensitive: false,
maxResults: 10,
sortKey: false,
ajax: false,
onItemSelect: function(){}
});
Methods
- forceItem: Inserts a new list item and triggers the callback. It may be handy specially when selections equals 1.
- recoverItem: Unselects a previously selected item and triggers the callback. It may be handy specially when selections equals 1.
var myAutocomplete = $("input").void_autocomplete({
selections: 1,
list: celestial_bodies
});
var pluto = {
title:"Pluto",
id:"11"
};
myAutocomplete.forceItem(pluto);