Ver Mensaje Individual
  #12 (permalink)  
Antiguo 04/10/2012, 08:51
Avatar de Dradi7
Dradi7
 
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: autocompletar en campos dinamicos

Revisemos tu codigo paso a paso

Código PHP:
Ver original
  1. <?php
  2. require('Conexion.php');
  3. $con = "select distinct `resuktado` from `mediosexternos`";
  4. $query = mysql_query($con);
  5. ?>

- No creo que aca tengas problemas porque si te devuelva la consulta correctamente

Código Javascript:
Ver original
  1. function agregarUsuario(){
  2.     nuevaFila = document.getElementById("tabla").insertRow(-1);
  3.     nuevaFila.id=posicionCampo;
  4.     nuevaCelda=nuevaFila.insertCell(-1);
  5.     nuevaCelda.innerHTML="<td><td><input type='text' id='Especifica"+posicionCampo+"' name='Especificas[]' value=''></td>";
  6.     nuevaCelda=nuevaFila.insertCell(-1);
  7.     nuevaCelda.innerHTML="<td> <input type='text' size='15'  id='Resultado["+posicionCampo+"]' name='Resultado["+posicionCampo+"]' ></td>";
  8.     nuevaCelda=nuevaFila.insertCell(-1);
  9.     $( "#Especifica" + posicionCampo).autocomplete({
  10.         source: availableTags1
  11.     });
  12.     nuevaCelda.innerHTML="<td><input type='button' value='Eliminar' onclick='eliminarUsuario(this)'></td>";
  13.     posicionCampo++;
  14. }

En esta parte de tu codigo tienes dos problemas:
- No manejes los names de los input de esta manera Resultado["+posicionCampo+"] si van a hacer un arreglo solamente basta que esten asi Resultado[]
- Segundo si ves bien en la parte que generas el autocompletar no existe la variable availableTags1 ya que no es publica y se encuentra dentro de una función por ende no va a mostrar una lista, debes ponerlo esto como una variable publica tal como lo haces con var posicionCampo=1;

Código PHP:
Ver original
  1. $(function() {
  2.    
  3.     <?php
  4.     while($row = mysql_fetch_array($query)) {
  5.         $cliente[]= '"'.$row['resuktado'].'"';//Muestra Especificacion
  6.     }
  7.     $arreglo1= implode(", ", $cliente);
  8.     ?>
  9.    
  10.     var availableTags1 = new Array(<?php echo $arreglo1; ?>);
  11.  
  12.     $( "#Especificaciones").autocomplete({
  13.         source: availableTags1
  14.     });
  15.  
  16. });

En esta parte de tu codigo como te mencione saca todo este codigo para que este como una variable global

Código PHP:
Ver original
  1. <?php
  2.     while($row = mysql_fetch_array($query)) {
  3.         $cliente[]= '"'.$row['resuktado'].'"';//Muestra Especificacion
  4.     }
  5.     $arreglo1= implode(", ", $cliente);
  6.     ?>
  7.    
  8.     var availableTags1 = new Array(<?php echo $arreglo1; ?>);

Al final tu codigo debe quedar de esta manera

Código PHP:
Ver original
  1. <script language="javascript" type="text/javascript">
  2. <?php
  3.     require('Conexion.php');
  4.     $con = "select distinct `resuktado` from `mediosexternos`";
  5.     $query = mysql_query($con);
  6.     while($row = mysql_fetch_array($query)) {
  7.         $cliente[]= '"'.$row['resuktado'].'"';//Muestra Especificacion
  8.     }
  9.     $arreglo1= implode(", ", $cliente);
  10. ?>
  11.    
  12. var availableTags1 = new Array(<?php echo $arreglo1; ?>);
  13. var posicionCampo=1;
  14.  
  15. function agregarUsuario(){
  16.     nuevaFila = document.getElementById("tabla").insertRow(-1);
  17.     nuevaFila.id=posicionCampo;
  18.     nuevaCelda=nuevaFila.insertCell(-1);
  19.     nuevaCelda.innerHTML="<td><td><input type='text' id='Especifica"+posicionCampo+"' name='Especificas[]' value=''></td>";
  20.     nuevaCelda=nuevaFila.insertCell(-1);
  21.     nuevaCelda.innerHTML="<td> <input type='text' size='15'  id='Resultado["+posicionCampo+"]' name='Resultado["+posicionCampo+"]' ></td>";
  22.     nuevaCelda=nuevaFila.insertCell(-1);
  23.     $( "#Especifica" + posicionCampo).autocomplete({
  24.         source: availableTags1
  25.     });
  26.     nuevaCelda.innerHTML="<td><input type='button' value='Eliminar' onclick='eliminarUsuario(this)'></td>";
  27.     posicionCampo++;
  28. }
  29.  
  30. function eliminarUsuario(obj){
  31.  
  32.     var oTr = obj;
  33.     while(oTr.nodeName.toLowerCase()!='tr'){
  34.         oTr=oTr.parentNode;
  35.     }
  36.     var root = oTr.parentNode;
  37.     root.removeChild(oTr);
  38. }
  39.  
  40. $(function() {
  41.  
  42.     $( "#Especificaciones").autocomplete({
  43.         source: availableTags1
  44.     });
  45.  
  46. });
  47. </script>
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones