JqueryUI Autocomplete. dati JSON da PHP, non so parsarli.
- Questo topic ha 3 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 10 anni, 10 mesi fa da maxrainato.
- AutorePost
- 6 Giugno 2012 alle 15:40 #1713khronosPartecipante
Ciao a tutti. sto facendo un progettino/sitarello, con una classica form con campo input #location, in cui se scrivo un paio di lettere volevo, tramite l’autocomplete di JqueryUI, far uscire paesi e provincie relative italiane.
Ho il database.Ho il php che prende il dato dalla GET e restituisce un JSON.se lo chiamo dalla console di chrome, ad esempio, così:$.getJSON( “api/src.php”, {a : “src”,term: “lec”})il responsetext del mio PHP è giusto:responseText: “[{“Tipologia”:”Provincia”,”Provincia”:”Lecce”,”Sigla”:”LE”},{“Tipologia”:”Provincia”,”Provincia”:”Lecco”,”Sigla”:”LC”},{“Tipologia”:”Comune”,”Istat”:”70001″,”Comune”:”Acquaviva Collecroce”,”Provincia”:”CB”},{“Tipologia”:”Comune”,”Istat”:”75013″,”Comune”:”Caprarica di Lecce”,”Provincia”:”LE”},{“Tipologia”:”Comune”,”Istat”:”37011″,”Comune”:”Casalecchio di Reno”,”Provincia”:”BO”},{“Tipologia”:”Comune”,”Istat”:”75017″,”Comune”:”Castri di Lecce”,”Provincia”:”LE”},{“Tipologia”:”Comune”,”Istat”:”34009″,”Comune”:”Collecchio”,”Provincia”:”PR”},{“Tipologia”:”Comune”,”Istat”:”68015″,”Comune”:”Collecorvino”,”Provincia”:”PE”},{“Tipologia”:”Comune”,”Istat”:”75035″,”Comune”:”Lecce”,”Provincia”:”LE”},{“Tipologia”:”Comune”,”Istat”:”66050″,”Comune”:”Lecce nei Marsi”,”Provincia”:”AQ”},{“Tipologia”:”Comune”,”Istat”:”97042″,”Comune”:”Lecco”,”Provincia”:”LC”},{“Tipologia”:”Comune”,”Istat”:”75047″,”Comune”:”Minervino di Lecce”,”Provincia”:”LE”}]”quindi i dati che chiedo arrivano…MA…non riesco in alcun modo a farli uscire nella mia form.Ho provato a copiaincollare il codice relativo all’ Autocomplete con dati inline, quelli “senza database”, e FUNZIONA PERFETTO.mentre invece, appunto, quelli “in arrivo tramite .getJSON da PHP esterno, non riesco a farli parsare… non mi esce niente… non so cosa dovrei scrivere qua:$( “#locations” ).autocomplete({source: function( request, response ) {$.getJSON( “api/src.php”, {a : “src”},response);}qualcuno mi da una mano? a scrivere una funzione in cui cerco “data.Tipologia”, mi dice ad esempio che “Tipologia” non sa cosa sia…9 Giugno 2012 alle 09:14 #2091jqueryitaliaAmministratoreCiao khronos.
Prova così:
$( “#locations” ).autocomplete({
source: function( request, response ) {
$.getJSON( “api/src.php”, {
a : “src”
},function(data) {
$.each(data.items, function(i,item) {
alert(item.Tipologia)}
)};
11 Maggio 2013 alle 12:14 #4609maxrainatoPartecipanteHo complicato un poco la risposta inserendo un return code e un payload, quest’ultimo c’è solo quando il return code è ok “00”.
Sapendo che mi arrivano nell’ordine Cognome, Nome ecc (ovvio, lo script l’ho scritto io) con js scrivo un pezzo di html cosìffatto..ài òp dhis élp
<pre class=”brush: javascript; gutter: true; first-line: 1; highlight: []; html-script: false”>
if ("payload" == key1) {
st = "\n<table>";
st = st + "\n<tr>";
st = st + "<th>Cognome</th>";
st = st + "<th>Nome</th>";
st = st + "<th>Città</th>";
st = st + "<th>IDClub</th>";
st = st + "<th>FotoClub</th>";
st = st + "</tr>";
$.each(val1, function(key3, val3){
// alert(key3);
// …e qui si fa sul serio
$.each(val3, function(key4, val4){
// alert(key4);
// primo elemento della riga
if (first_col == key4){
st = st + "\n<tr>";
}
// colonna
st = st + "<td class='"+ key4 +"'>"+ val4 +"</td>";
// ultimo elemento della riga
if (last_col == key4){
st = st + "</tr>";
}
}); // .each() 4
}); // .each() 3st = st + "\n</table>";
$("#spaziodati").html( st );
st = "";$("#msgerrore").html( "Dati ricevuti" );
$("td").css("padding", "2px");
$("tr:even").css("background-color", "#ccccff");
} //payload11 Maggio 2013 alle 12:15 #4610maxrainatoPartecipanteacc, io ho cliccato javascript e poi ho incollato il pezzodicodice, com’è che se n’è uscito con sta porcheria?
- AutorePost
- Devi essere connesso per rispondere a questo topic.