I'm using easyautocomplete. I get data from an ajax request. I then filter it and create a new object which easyauotocomplete support. Finally, I set it to options data but it shows the following error in the console:
Property 'drenajs' does not exist in EasyAutocomplete options API.
MeloGIS.getAllFeature=function(){
var url= 'url which gives me json data';
httpService.doAjax(url,'GET',null,null,function(response){
var json=response;
var dataJSON = JSON.parse(response);
var data = [];
var requestData = new Array();
for(var i in dataJSON.features) {
var item = dataJSON.features[i];
var attributes= item.attributes;
var geometry=item.geometry;
data.push({
"name" : attributes.name,
"collector" : attributes.collector
});
}
requestData.drenajs=[];
requestData.drenajs.push(data);
var parentStringify=JSON.stringify(requestData);
MeloGIS.autoComplete(requestData,"basics");
},
function(error){
return;
});
}
MeloGIS.autoComplete=function(jsonData,idInput){
var options = {
data : jsonData,
categories: [{
listLocation: "drenajs",
maxNumberOfElements: 4,
header: "--DRENAJLARIN SIYAHISI--"
}, {
listLocation: "pumps",
maxNumberOfElements: 4,
header: "--NASOSLARIN SIYAHISI--"
}],
getValue: function(element) {
return element.name;
},
template: {
type: "description",
fields: {
description: "collector"
}
},
list: {
maxNumberOfElements: 8,
match: {
enabled: true
},
sort: {
enabled: true
}
},
theme: "square"
};
$("#"+idInput).easyAutocomplete(jsonData);
}
But when I set a string like that it works fine. What did I do wrong ?
{
"drenajs": [
{"name": "drenaj1", "region": "Abseron rayonu"},
{"name": "Salam qaqa ", "region": "Nerimanov rayonu","adi":"ssss"},
{"name": "neynirsen", "region": "Nerimanov rayonu"},
{"name": "salamatcikodur", "region": "Nerimanov rayonu"},
{"name": "uc get", "region": "Nerimanov rayonu"},
{"name": "Rasul Rzayev", "region": "Nesimi rayonu"}
],
"pumps": [
{"name": "AAA", "region": "Nesimi rayonu"},
{"name": "Salam America", "region": "Xetai rayonu"},
{"name": "Test", "region": "Xirdalan rayonu"}
]
}
Thanks in advance.