json object not returning value in typeahead -
i'm trying return specific data json returns nothing.
i took example http://jsfiddle.net/fresh/1hrk0qso/ works when using example url.
url: 'https://cdn.rawgit.com/twitter/typeahead.js/gh-pages/data/countries.json',
it works when localhost
url: '../json/countries.json',
but, when change countries.json file include multiple fields(see json below), not return anything.
json:
[ {"cities_id":"1","city":"attignat","postal_code":"01340"}, {"cities_id":"2","city":"beaupont","postal_code":"01270"}, {"cities_id":"3","city":"b\u00e9ny","postal_code":"01370"} ]
js (modified return 'city' in replace 'name' json file):
var countries = new bloodhound({ datumtokenizer: bloodhound.tokenizers.obj.whitespace('city'), querytokenizer: bloodhound.tokenizers.whitespace, prefetch: { url: '../json/json_cities.json', filter: function (countries) { return $.map(countries, function (city) { return { city: city }; }); } } }); // initialize bloodhound suggestion engine countries.initialize(); $('.typeahead_city').typeahead(null, { name: 'city', displaykey: 'city', source: countries.ttadapter() });
i not understand because same example well: how list objects typeahead.js and/or bloodhound engine?
thanks lot
return following properties in second parameter of typeahead method. if want return multiple items have use display property, instead of displaykey. while customize suggestions suggestion property.
$('.typeahead_city').typeahead();
{ name: 'countries', display: function(item){ return item.city+'–'+item.postal_code}, source: datasource.ttadapter(), suggestion: function (data) { return '<div>' +data.city + '–' + data.postal_code + '</div>'} }
here working fiddle.
Comments
Post a Comment