Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/06/2017, 10:17
emeotero
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años
Puntos: 0
autocompletar: pasar valor del array a un input

Hola,
estoy practicando con un script en PHP y jQuery para autocomplementar un listado de sitios. El caso es que puede haber repetidos varios sitios, porque se refieren a localidades diferentes y cada uno tiene un codigo de sitio diferente. Conseguí meter en el array el id y el nombre
Código PHP:
    $query 'SELECT idsites, nombre AS "sitios" FROM sitios ORDER BY "sitios"';

    
$result pg_query($query) or die('Query failed: ' pg_last_error());

    
$arreglo_php = array();
    
    
    if(
pg_num_rows($result)==0)
        
array_push($arreglo_php"NO Datos");
    else{
        while (
$Sitio pg_fetch_array($result)) {
                
array_push($arreglo_php$Sitio["idsites"], $Sitio["sitios"]);
        }
    } 
ahora jQuery
Código HTML:
<script type="text/javascript">
  $(function(){
	var autocompletar = new Array();
	<?php // php para obtener datos
	 for($p = 0;$p < count($arreglo_php); $p++){ //usamos count para saber cuantos elementos hay ?>
	   autocompletar.push('<?php echo $arreglo_php[$p]; ?>');
	 <?php } ?>
	 $("#Sitio").autocomplete({ //Usamos el ID de la caja de texto donde lo queremos
	   source: autocompletar //Le decimos que nuestra fuente es el arreglo
	 });
  });
</script> 
Si hago un alert me sale efectivamente el id y el sitio. Como el nombre lo tengo en el Input (#Sitio) necesito saber como pasar ese $Sitio["idsites"] a un input tipo hidden para el ID, de ese modo, paso el id al script que ejecuta el formulario ya que el id es único y obtengo resultados, si no no me pasa del primer sitio coincidente al siguiente.
No se si me he explicado.