Salve a tutti...
Sto cercando di far funzionare l'autocompletamento, ma qualcosa non va quando i dati li devo prendere in remoto, invece tutto ok se li prendo in locale da un array.
Ho la mia bella pagina con tutti gli include e con questo campo:
Codice PHP:
<label  for="prov" id="lab_prov">Provincia<span class="required">*</span></label>
<
input type="text"  tabindex="100"  id="prov" name="prov" class="input " value="" /> 
Dentro al suo bel FORM
Poi ho questo JS
Codice PHP:
 $(document).ready(function(){

  var 
arr_prov=["torino","milano","napoli"];

  $(
"#prov").autocomplete({
   
source"province.php"    //NON FUNZIONA
   //source: arr_prov    //QUESTO FUNZIONA
  
});

 }); 
Come da commento se cambio il source la tendina appare
Ed ho questo PHP per elencare i dati
Codice PHP:
<?PHP
$q
=false;
if(isset(
$_GET["term"])) $q strtolower($_GET["term"]);
if (!
$q) return;

$items=array("Agrigento","Alessandria","Ancona","Aosta","Arezzo","Ascoli Piceno","Asti","Avellino","Bari","Barletta-Andria-Trani","Belluno","Benevento","Bergamo","Biella","Bologna","Bolzano","Brescia","Brindisi","Cagliari","Caltanissetta","Campobasso","Carbonia-Iglesias","Caserta","Catania","Catanzaro","Chieti","Como","Cosenza","Cremona","Crotone","Cuneo","Enna","Fermo","Ferrara","Firenze","Foggia","Forlì-Cesena","Frosinone","Genova","Gorizia","Grosseto","Imperia","Isernia","L'Aquila","La Spezia","Latina","Lecce","Lecco","Livorno","Lodi","Lucca","Macerata","Mantova","Massa-Carrara","Matera","Medio Campidano","Messina","Milano","Modena","Monza e della Brianza","Napoli","Novara","Nuoro","Ogliastra","Olbia-Tempio","Oristano","Padova","Palermo","Parma","Pavia","Perugia","Pesaro Urbino","Pescara","Piacenza","Pisa","Pistoia","Pordenone","Potenza","Prato","Ragusa","Ravenna","Reggio di Calabria","Reggio Emilia","Rieti","Rimini","Roma","Rovigo","Salerno","Sassari","Savona","Siena","Siracusa","Sondrio","Taranto","Teramo","Terni","Torino","Trapani","Trento","Treviso","Trieste","Udine","Varese","Venezia","Verbano-Cusio-Ossola","Vercelli","Verona","Vibo Valentia","Vicenza","Viterbo");

$result = array();
asort($items);
foreach (
$items as $item) {
 
$n=strlen($q);
 if (
substr(strtolower($item), 0,$n) == $q) {
  
array_push($result$item);
 }
}
echo 
array_to_json($result);

//##########################################################################################################################

 
protected function array_to_json$array ){
  if( !
is_array$array ) ){  return false; }
  
$associative countarray_diffarray_keys($array), array_keysarray_keys$array )) ));
  if( 
$associative ){
   
$construct = array();
   foreach( 
$array as $key => $value ){
    if( 
is_numeric($key) ){ $key "key_$key"; }
    
$key "\"".addslashes($key)."\"";
    if( 
is_array$value )){
     
$value array_to_json$value );
    } else if( !
is_numeric$value ) || is_string$value ) ){
     
$value "\"".addslashes($value)."\"";
    }
    
$construct[] = "$key$value";
   }
   
$result "{ " implode", "$construct ) . " }";
  }else{ 
   
$construct = array();
   foreach( 
$array as $value ){
    if( 
is_array$value )){
     
$value array_to_json$value );
    } else if( !
is_numeric$value ) || is_string$value ) ){
     
$value "'".addslashes($value)."'";
    }
    
$construct[] = $value;
   }
   
$result "[ " implode", "$construct ) . " ]";
  }
  return 
$result;
 }
?>
Tutto abbastanza semplice, ma non funziona. La pagina PHP se richiamata a browser passandogli la querystring
codice:
term=t
ad esempio tira fuori
codice:
[ 'Taranto', 'Teramo', 'Terni', 'Torino', 'Trapani', 'Trento', 'Treviso', 'Trieste' ]
Quindi do per assunto che li non ci sono errori. Tranne che magari non li vuole in questo formato (però identico a quello funzionante in JS)
Secondo voi... cosa ce che non va?