Aicod srl for the time they let me to develop this :)
Features
It simply works with jQuery and jQueryUI ( + theme), nothing else is required.
It expands the already fully working AutoComplete widget of jQueryUI, but adding more options.
It preservers the "name" attr of the input, if you use it in multiple mode (useful for example, if you need to post some tags all on one submit).
Much more (feel free to discover them by yourself) :)
Changelog
completely rewrited in object-oriented method. Now every object could be an instance of this plugin, so you can call methods after you have initialized it.
Insert at least two letters (es. "ve","pi",etc.) to see how it works. It's just like the official AutoComplete, but you can select an item from ALL the list (preserving the original autocomplete) and you can add new one.
Insert at least two letters (es. "ve","pi",etc.) to see how it works. It's just like the official AutoComplete, but you can have multiple values submitted.
Just like the example before, but this is default setted with the "defaultvalue" property on plugin call.
Field 1
Field 2
Field 3
Documentation
This option define where the autocomplete should point to, when remoting getting the items. If it's relative, it points to the root path, but it can also be absolute.
This option define how many characters must be in the input before the search in the remote source begins.
Integer
2
$('input').autocompleteextended({minLength:4});
This option define if you want to use regex patterns on the text you insert (only on the input, NOT on the new windows and NOT on the list window), for example if you want only to have numbers.
Boolean
false
$('input').autocompleteextended({useRegEx:true});
This option define the pattern to use with the regex. IT MUST BE USED IN CONJUCTION WITH useRegEx TO MAKE IT WORK.
This option define if the input must act as a multiple one. See the examples to make it more clear.
Boolean
false
$('input').autocompleteextended({multiple:true});
This option define the default value(s) for the input at the initialization time. If you're using it in conjuction with the multiple option, you must pass it as an Array.
String or Array
null
$('input').autocompleteextended({multiple:false,defaultvalue:'Default value'}); or $('input').autocompleteextended({multiple:true,defaultvalue:['Default','value']});
This option define if you want the List button next your input (this allows to scroll inside ALL the elements that you're filtering into).