Reputation: 417
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
Reputation: 188
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