Ho una funzione loadProp() che recupera dei dati utilizzando ajax e li mette in un array chiamato suggestions. Questo array dovrebbe fungere da source per un campo input a cui ho assegnato una funzionalità di autocomplete (con jquery ui). So benissimo che la cosa si può fare semplicemente con
Il problema è che così l'array suggestions non contiene i dati aggiornati all'ultima chiamata ajax, quindi nell'autocomplete non mi vengono mostrati i dati caricati...codice://property è l'id del campo input con autocmplete $('#property').autocomplete({ source: suggestions })
C'è un modo per assegnare come source dell'autocomplete il risultato della funzione loadProp()?
Se può servire il codice della pagina è il seguente:
Grazie a tutti in anticipo!codice:var suggestions=[]; //Funzione che carica i dati remoti con ajax. (Utilizza una libreria per fare query sparql) function loadProp(){ var sparqler = new SPARQL.Service("utilities/proxy.php?proxy_url=http://lod.openlinksw.com/sparql"); sparqler.addDefaultGraph("http://dbpedia.org"); sparqler.setPrefix("rdfs","http://www.w3.org/2000/01/rdf-schema#"); sparqler.setPrefix("rdf","http://www.w3.org/1999/02/22-rdf-syntax-ns#"); var query = sparqler.createQuery(); query.query('select distinct ?p ?l where{?p rdf:type rdf:Property. ?p rdfs:label ?l FILTER regex(?l,"^'+$('#property').val()+'","i")} limit 5', {success: function(json){ suggestions=[]; for(var i=0; i<json.results.bindings.length;i++){ suggestions.push(json.results.bindings[i].l.value); } } }); } //Assegno all'input con id=property l'autocomplete $(document).ready(function(){$("#property").autocomplete({ source: suggestions, minLength: 0, select: function(ui){ } });});

Rispondi quotando