Auto completar en Jquery

Iniciado por Es7a7, 13 Diciembre 2015, 23:10 PM

0 Miembros y 1 Visitante están viendo este tema.

Es7a7

Hola a todos!

Estoy intentando hacer un input de texto que sea autocompletable con JQuery y Mysql,  pero no entiendo porque no me funciona. Lo que hace el codigo es basicamente cargar de mi base de datos la informacion y la guarda en un array el cual usa despues para mostrar la informacion. Os copio el codigo para ver si me podeis echar un cable. En el codigo de JQuery ya no me lee el array que he cargado en php, osea que parece como que en el cambio de un lenguaje a otro se pierde...

Código (php) [Seleccionar]
<link rel="stylesheet" type="text/css" href="/inmo/css/inmo.css" media="screen" />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>

<script>
$(function(){
var autocompletar = new Array();
<?php //Esto es un poco de php para obtener lo que necesitamos
for($p 0;$p count($arreglo_php); $p++){ //usamos count para saber cuantos elementos hay ?>

autocompletar.push('<?php echo $arreglo_php[$p]; ?>');
<?php ?>
$("#nom").autocomplete({ //Usamos el ID de la caja de texto donde lo queremos
source: autocompletar //Le decimos que nuestra fuente es el arreglo
});
});
</script>




</HEAD>

<BODY>

<?php

session_start
();

if( ( !empty( 
$_SESSION['user'] ) ) && ( $_SESSION['user'] == "admin" ) )
{

echo 
"<DIV CLASS='wrapper'>";


?>


<DIV CLASS='nusuario'>


<form action="#" name="customForm" id="customForm" method="post" enctype="multipart/form-data">

<TABLE>

<TR><TD>*NOMBRE ZONA: </TD><TD><INPUT TYPE='TEXT' id='nom' NAME='nom' SIZE='15' required>

<CENTER><TR><TD><INPUT TYPE='submit' VALUE='Acceso' NAME='acceso'></TD><TD><INPUT TYPE='reset' VALUE='En blanco'></TD>

</TR></CENTER>
</TABLE>
</form>

</DIV>

<?php

include $_SERVER['DOCUMENT_ROOT'] . 'inmo/mod/con_bd.php';

$sql "select nombre from zona order by nombre";
$res $con->query($sql);

$arreglo_php = array();

if( 
mysqli_num_rows$res ) == )
array_push($arreglo_php"No hay datos");

else
{

while( 
$nom_zona $res->fetch_assoc() ){
array_push$arreglo_php$nom_zona["nombre"] );
echo 
$nom_zona["nombre"]."sdf<br>";
}

}


}
else
{
echo 
"<DIV CLASS='error'>";
echo 
"NO TIENES ACCESO";
echo 
"</DIV>";

}


saludos y gracias de antemano!!


Mod: Los códigos deben ir en etiquetas GeSHi

flacc

#1
Hola Es7a7, yo tuve un problema similar usando typeahead, lo que hice fue escribir el array de java script en duro y lo solucioné. (Para salir del paso, mientras seguía buscando el problema).


Nunca cierras la etiqueta de php y pasas a escribir java script indiscriminadamente
Código (php) [Seleccionar]

<?php //Esto es un poco de php para obtener lo que necesitamos
for($p 0;$p count($arreglo_php); $p++){ //usamos count para saber cuantos elementos hay ?>

// debiera ser asi
for($p = 0;$p < count($arreglo_php); $p++){ /*usamos count para saber cuantos elementos hay*/ ?>
autocompletar.push('<?php echo $arreglo_php[$p]; ?>');


Y debes corregir la identacion de la sintaxis para mejorar su lectura.

Espero de ayude.
Saludos