Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/03/2013, 13:44
Avatar de satjaen
satjaen
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 3 meses
Puntos: 10
Respuesta: Me hace el autocompletado sólo en la primera fila.

Cita:
Iniciado por El_Metallick Ver Mensaje
Es lógico que te funcione sólo con el primer caso, porque tienes un problema con los identificadores, recuerda que un grupo de objetos se pueden asociar (y de hecho el DOM así lo hace) en un arreglo cuando comparten el atributo name pero el atributo id (identificador) debe ser único para cada caso, de no ser así, sólo el primer objeto con un identificador "recambio" en este caso, responde a los llamados por id. En tu código accedes al objeto mediante "#recambio" (el cual hace el llamado justamente mediante el atributo "id" del objeto HTML) por lo que sólo te muestra el primer objeto cuyo identificador es "recambio". Intenta haciendo el llamado con algo del tipo "input[name=recambio]" lo cual seleccionará todos los obtejos input cuyo atributo name="recambio".

Espero te ayude la explicación anterior.

Saludos


PD: no estoy 100% seguro de que funcione, porque estás agregando objetos de forma dinámica.
Gracias por contestar. Ademas de lo que comentas tambien tenia algún error mas. Lo he puesto así pero sigue sin funcionarme:

Código Javascript:
Ver original
  1. function agregar() {
  2.    
  3.     var contLin = 3;
  4.     var tr, td, tabla;
  5.  
  6.     tabla = document.getElementById('tabla');
  7.     tr = tabla.insertRow(tabla.rows.length);
  8.     td = tr.insertCell(tr.cells.length);
  9.     td.innerHTML = "<input name='button' type=button onclick='agregar()' value='+' >";
  10.     td = tr.insertCell(tr.cells.length);
  11.     td.innerHTML = "<input name='button' type=button onclick='borrarUltima()' value='-' >";
  12.     td = tr.insertCell(tr.cells.length);
  13.     td.innerHTML = "<input type='text' value='' size='5' >";
  14.     td = tr.insertCell(tr.cells.length);
  15.     td.innerHTML = "<input type='text' name='recambio1' id='recambio1' size='10' >";
  16.     td = tr.insertCell(tr.cells.length);
  17.     td.innerHTML = "<input type='text' value='' size='25' >";
  18.     td = tr.insertCell(tr.cells.length);
  19.     td.innerHTML = "<input type='text' value='' size='5' >";
  20.     td = tr.insertCell(tr.cells.length);
  21.     td.innerHTML = "<input type='text' value='' size='5' >";
  22.     td = tr.insertCell(tr.cells.length);
  23.     td.innerHTML = "<input type='text' value='' size='5' >";
  24.     td = tr.insertCell(tr.cells.length);
  25.     td.innerHTML = "<input type='text' value='' size='5' >";
  26.     td = tr.insertCell(tr.cells.length);
  27.     td.innerHTML = "<img src='imagenes_menu/untitled.png' width='20' height='20' style='cursor:pointer' />";
  28.     contLin++;
  29.    
  30.    
  31.    
  32. }
  33.  
  34. $( "#recambio1").autocomplete({
  35.             minLength: 2,
  36.             source: availableTags
  37.         });
  38.  
  39. function borrarUltima() {
  40.    ultima = document.all.tabla.rows.length - 1;
  41.    if(ultima > -1){
  42.       document.all.tabla.deleteRow(ultima);
  43.       contLin--;
  44.    }
  45. }
  46.    </script>


Un saludo


EDITO: Tenia que repetir otra vez todo en la funcion agregar.

Código Javascript:
Ver original
  1. function agregar() {
  2.    
  3.     var contLin = 3;
  4.     var tr, td, tabla;
  5.  
  6.     tabla = document.getElementById('tabla');
  7.     tr = tabla.insertRow(tabla.rows.length);
  8.     td = tr.insertCell(tr.cells.length);
  9.     td.innerHTML = "<input name='button' type=button onclick='agregar()' value='+' >";
  10.     td = tr.insertCell(tr.cells.length);
  11.     td.innerHTML = "<input name='button' type=button onclick='borrarUltima()' value='-' >";
  12.     td = tr.insertCell(tr.cells.length);
  13.     td.innerHTML = "<input type='text' value='' size='5' >";
  14.     td = tr.insertCell(tr.cells.length);
  15.     td.innerHTML = "<input type='text' name='recambio1' id='recambio1' size='10' >";
  16.     td = tr.insertCell(tr.cells.length);
  17.     td.innerHTML = "<input type='text' value='' size='25' >";
  18.     td = tr.insertCell(tr.cells.length);
  19.     td.innerHTML = "<input type='text' value='' size='5' >";
  20.     td = tr.insertCell(tr.cells.length);
  21.     td.innerHTML = "<input type='text' value='' size='5' >";
  22.     td = tr.insertCell(tr.cells.length);
  23.     td.innerHTML = "<input type='text' value='' size='5' >";
  24.     td = tr.insertCell(tr.cells.length);
  25.     td.innerHTML = "<input type='text' value='' size='5' >";
  26.     td = tr.insertCell(tr.cells.length);
  27.     td.innerHTML = "<img src='imagenes_menu/untitled.png' width='20' height='20' style='cursor:pointer' />";
  28.     contLin++;
  29.  
  30. $(function() {
  31.        
  32.         <?php
  33.        
  34.         while($row= mysql_fetch_array($query)) {//se reciben los valores y se almacenan en un arreglo
  35.        
  36.       $elementos[]= '"'.$row['recambio'].'"';
  37.      
  38. }
  39. $arreglo= implode(", ", $elementos);//junta los valores del array en una sola cadena de texto
  40.  
  41.         ?>    
  42.        
  43.         var availableTags=new Array(<?php echo $arreglo; ?>);//imprime el arreglo dentro de un array de javascript
  44.                
  45.         $( "#recambio1").autocomplete({
  46.             minLength: 2,
  47.             source: availableTags
  48.         });
  49.        
  50.    
  51.    }
  52. }
  53.    </script>


Gracias

Última edición por satjaen; 18/03/2013 a las 14:11