Typeahead and Bloodhound - how to get JSON result

前端 未结 2 468
天命终不由人
天命终不由人 2020-12-29 07:29

I have the json list of Countries: http://vocab.nic.in/rest.php/country/json

And I\'m trying to get country_id and country name with Bloodhound suggestion engine. O

相关标签:
2条回答
  • 2020-12-29 08:00
    // instantiate the bloodhound suggestion engine
    var countries = new Bloodhound({  
      datumTokenizer: function(countries) {
          return Bloodhound.tokenizers.whitespace(countries.value);
      },
      queryTokenizer: Bloodhound.tokenizers.whitespace,
      remote: {
        url: "http://vocab.nic.in/rest.php/country/json",
        filter: function(response) {      
          return response.countries;
        }
      }
    });
    
    // initialize the bloodhound suggestion engine
    countries.initialize();
    
    // instantiate the typeahead UI
    $('.typeahead').typeahead(
      { hint: true,
        highlight: true,
        minLength: 1
      }, 
      {
      name: 'countries',
      displayKey: function(countries) {
        return countries.country.country_name;        
      },
      source: countries.ttAdapter()
    });
    

    Example Codepen

    Typeahead Output

    Output of Typeahead

    Notes:

    • data on your server = "prefetch".
    • data from outside = "remote"
    0 讨论(0)
  • 2020-12-29 08:11

    NOTE: if you do all this and it still is not working examine your data.json file (whatever you have named it)

    example of good format: https://github.com/twitter/typeahead.js/blob/gh-pages/data/countries.json

    ['data1','data2',.....]

    I was tripped up on out of place quote.

    0 讨论(0)
提交回复
热议问题