eawedat
eawedat

Reputation: 417

Autocomplete jQuery Source

I have this returned json, how can I tell source to get name only?

var availableTags='
     [
                { name: "one", num: '1', index: '0' }, 
                { name: "two", num: '2', index: '1' },
                { name: "three", num: '3', index: '2' },
                { name: "four", num: '4', index: '3' },
                { name: "five", num: '5', index: '4' },
                { name: "six", num: '6', index: '5' },
                { name: "seven", num: '7', index: '6' }
     ]';

$("#searchInput").autocomplete({
source: availableTags
});

Thank you.

Upvotes: 0

Views: 75

Answers (1)

You can try this:

var availableTags='
 [
            { name: "one", num: '1', index: '0' }, 
            { name: "two", num: '2', index: '1' },
            { name: "three", num: '3', index: '2' },
            { name: "four", num: '4', index: '3' },
            { name: "five", num: '5', index: '4' },
            { name: "six", num: '6', index: '5' },
            { name: "seven", num: '7', index: '6' }
 ]';
var arr = JSON.parse(availableTags).map(function(a){return a.name;});
$("#searchInput").autocomplete({
    source: arr
});

This JSON haven't got a good format, this will work as js object:

var availableTags=
 [
            { name: "one", num: '1', index: '0' }, 
            { name: "two", num: '2', index: '1' },
            { name: "three", num: '3', index: '2' },
            { name: "four", num: '4', index: '3' },
            { name: "five", num: '5', index: '4' },
            { name: "six", num: '6', index: '5' },
            { name: "seven", num: '7', index: '6' }
 ];
var arr = availableTags.map(function(a){return a.name;});
$("#searchInput").autocomplete({
    source: arr
});

Other option is good JSON format:

var availableTags='[{"name":"one","num":"1","index":"0"},'+
                '{"name":"two", "num": "2", "index": "1" },'+
                '{ "name": "three", "num": "3", "index": "2" },'+
                '{ "name": "four", "num": "4", "index": "3" },'+
                '{ "name": "five", "num": "5", "index": "4" },'+
                '{ "name": "six", "num": "6", "index": "5" },'+
                '{ "name": "seven", "num": "7", "index": "6" }]';

var arr = JSON.parse(availableTags).map(function(a){return a.name;});
$("#searchInput").autocomplete({
    source: arr
});

Upvotes: 1

Related Questions