I thought there was only one – included in jQuery UI and documented here.
I know there are third-party autocomplete widgets that plug-in to jQuery, like the one from devbridge. But I would describe that as an autocomplete widget for jQuery, rather than the jQuery autocomplete widget.
But on Stackoverflow, I see questions asking about an autocomplete widget that does not use the syntax described in the jQuery UI documentation. For example:
- jquery.autocomplete.js – how does autocomplete work?
- Jquery AutoComplete Plugin calling
- Help with jquery autocomplete and json response
The jQuery UI syntax looks like this:
$("#input1").autocomplete({
source: function(req, responseFn) {
...
},
select: function(value, data){
...
}
});
Whereas some of those other questions hae a syntax like this:
$("#city").autocomplete("CUList.asmx/GetCUList", {
dataType: 'jsonp',
parse: function(data)
{
var rows = new Array();
for(var i=0; i<data.length; i++){
rows[i] = { data:data[i], value:data[i].CUName, result:data[i].CUName };
}
return rows;
},
formatItem: function(row, i, n) {
return row.CUName + ', ' + row.CUCity;
},
max: 50
});
What’s the explanation for the discrepancy? People ask about “jquery autocomplete” without specifying which one. With no direction, shouldn’t I assume THE jquery UI autocomplete?
ANSWER
There are numerous autocomplete widgets that work with jQuery.
from jquery.com: http://docs.jquery.com/Plugins/Autocomplete
actual home page: http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
There is a habit that is fairly common among users of jquery plugins, when asking questions on SO, to not identify which particular widget they are using. People use phrases like “the jquery autocomplete widget” when they really are referring to “a jquery autocomplete widget”.