devbridge / jQuery-Autocomplete

Ajax Autocomplete for jQuery allows you to easily create autocomplete/autosuggest boxes for text input fields
https://www.devbridge.com/sourcery/components/jquery-autocomplete/
Other
3.57k stars 1.67k forks source link

Using serviceUrl from local json will not filter #782

Closed Johnnybar closed 4 years ago

Johnnybar commented 4 years ago

Hi, I've been trying to understand how Autocomplete works with serviceUrl from other issues here, but I keep getting all results back from the json I refer to. Shouldn't Autocomplete filter out results received from my json based on my input, just like lookup does (didn't experience problems with lookup)? Is there something missing from my code? Thanks for your help!

Options:

minChars: 1,
autoSelectFirst: true,
serviceUrl: "/assets/json/onsite-search.json",
      transformResult: function (response) {
        var parsedResponse = $.parseJSON(response).suggestions;
        return      {    
                suggestions: $.map( parsedResponse, function( item ) { 
                return {value: item.value}  })
        }
      },

Json: (all results are returned, no matter my input)

{
  "suggestions": [
    {
      "value": "Trade"
    },
    {
      "value": "Financial Statement Assertion"
    },
    {
      "value": "Eurex Trading"
    },
    {
      "value": "Trade-in"
    },
    {
      "value": "Trade Stock"
    },
    {
      "value": "Trademark"
    }
]}
tkirda commented 4 years ago

When serviceUrl is used, it expects to already return filtered values.

If you want plugin to filter values, you can provide values during plugin initialization using lookup option.