Sorting Autocomplete Responses For Relevancy
Sorting the jQuery UI autocomplete response before it's rendered, based on some relevancy criteria.
HTML
<form id="form1" runat="server">
<h2 class="demoHeaders">Autocomplete</h2>
<div>
<input id="autocomplete" title="type "a"" />
</div>
</form>
CSS
body {
font-size: 0.8em;
}
JavaScript
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC core",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#autocomplete").autocomplete({
source: availableTags
});
$.ui.autocomplete.filter = function (array, term) {
var matcher = new RegExp('(^| )' + $.ui.autocomplete.escapeRegex(term), 'i');
return $.grep(array, function (value) {
return matcher.test(value.label || value.value || value);
});
};