jQuery Autocomplete Erweitern

Will man jQuery Autocomplete mit einem lokalen JSON Array nutzen, hat aber mehr als die beiden default Werte label und value hilft dieser Code:

$(document).ready(function() {
   var schools = [
      {
         "label": "Boston University",
         "value": "Boston University",
         "nickname": "BU"},
      {
         "label": "Some extra element",
         "value": "Value of second",
         "nickname": "2nd"
      }
   ];
   function custom_source(request, response) {
      var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
      response($.grep(schools, function(value) {
         return matcher.test(value.value) || matcher.test(value.nickname);
      }));
   }
   $("#school").autocomplete({
      source: custom_source,
      minLength: 0,
      select: function(event, ui) {
         // your code
      }
   });
});

In diesem Fall wird die Suche um das Feld nickname erweitert. Sehr praktisch.

Quelle

 

bvt