Foros del Web » Programando para Internet » Javascript » Frameworks JS »

[SOLUCIONADO] input text autocompletado con php

Estas en el tema de input text autocompletado con php en el foro de Frameworks JS en Foros del Web. Bueno le scuento estoy desarrollando un formulario que cuenta con un campo auto completar el cual ya lo tengo, este formulario carga al cargar la ...
  #1 (permalink)  
Antiguo 03/04/2011, 04:19
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 7
input text autocompletado con php

Bueno le scuento estoy desarrollando un formulario que cuenta con un campo auto completar el cual ya lo tengo, este formulario carga al cargar la pagina y tienen la opcion de crear otra fila para que puedan ingresar mas ventas.
bueno la cosa esta en que creo con los campos con una imagen que llama a una funcion javascript, pero el campo autocompletado que creo con funciones javascript, no puede llamar al jquery, pues no puiedo hacer que trabaje ccon el la funcion jquery
sta es mi funcion jquery

Código Javascript:
Ver original
  1. <script type="text/javascript">  
  2. $(function() {  
  3.     $("#animal").autocomplete({  
  4.         source: "auto_comple.php?getAnimales=1",  
  5.         select: function(event, ui) {  
  6.         }  
  7.     });  
  8. });  
  9. </script>

este es mi campo que se crea

Código Javascript:
Ver original
  1. var td1 = document.createElement("TD");
  2.     td1.appendChild(document.createElement("<input type=\"text\" id=\"animal\" name=\"cliente["+t+"]\"size=\"25\"/>"));

y este es mi codigo php que traba con json
Código PHP:
Ver original
  1. if(isset($_GET['getAnimales'])) {  
  2.   $bd = new mysqli("localhost", "root", "", "fh");  
  3.   if(mysqli_connect_errno()) return;  
  4.  
  5.   $animales = array();  
  6.   if($res = $bd->query("SELECT * FROM cliente"))  
  7.     while($animal = $res->fetch_assoc())  
  8.       $animales[] = array(  
  9.         'label' => $animal['auto'],  
  10.         'value' => $animal['id_cliente'],  
  11.         'estado' => $animal['auto'],  
  12.       );  
  13.   $bd->close();  
  14.   echo json_encode($animales);  
  15.   return;  
  16. }

me gustaria que me digan por que pasa esto, osi ven un error en mi codigo que me digan por fa
  #2 (permalink)  
Antiguo 03/04/2011, 06:50
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: input text autocompletado con php

Que tal moscrates,

el problema es que cuando se ejecuta el ready y tu autocomplete, no existe en el DOM element #animal, este se crea de forma dinámica, para solucinarlo deberias asignar el autocomplete al elemento cuando lo creas, esto:
Código Javascript:
Ver original
  1. var td1 = document.createElement("TD");
  2.     td1.appendChild(document.createElement("<input type=\"text\" id=\"animal\" name=\"cliente["+t+"]\"size=\"25\"/>"));

debería ser algo así(y de paso utilizar jQuery para crear el elemento):

Código Javascript:
Ver original
  1. var el = $('<td><input type=\"text\" id=\"animal\" name=\"cliente["+t+"]\"size=\"25\"/></td>').autocomplete({  
  2.         source: "auto_comple.php?getAnimales=1",  
  3.         select: function(event, ui) {            
  4.         }  
  5.     })
  6. $(document.body).append(el);//acá deberías cambiar por donde haces el append del td1 que no aparece en tu código

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 03/04/2011, 07:24
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 7
Respuesta: input text autocompletado con php

exelente la solucion que me propones y muy funcional,
ya lo que hice fue crear una etiqueta script, al momento de crear el campo, y este script contienen la funcion jquery que ejecuta a outocomplete, de esta forma

Código Javascript:
Ver original
  1. var td1 = document.createElement("TD");
  2.     td1.appendChild(document.createElement("<input type=\"text\" id=\"animal\" name=\"cliente["+t+"]\"size=\"25\"/>"));
  3.  
  4. var div = document.createElement('script');
  5. div.type = 'type/javascript';
  6. div.src= 'js/funcion_jquery.js';
y la funcion_jquery, tiene

Código Javascript:
Ver original
  1. $(function() {  
  2.     $("#animal").autocomplete({  
  3.         source: "auto_comple.php?getAnimales=1",  
  4.         select: function(event, ui) {  
  5.         }  
  6.     });  
  7. });

y esta funcionando, de echos de las dos formas..
si alguien tienen un problema similar pos ahi tienen la solucion

Etiquetas: jquery
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:11.