Cita:
Iniciado por El_Metallick 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 originalfunction agregar() {
var contLin = 3;
var tr, td, tabla;
tabla = document.getElementById('tabla');
tr = tabla.insertRow(tabla.rows.length);
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input name='button' type=button onclick='agregar()' value='+' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input name='button' type=button onclick='borrarUltima()' value='-' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' name='recambio1' id='recambio1' size='10' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='25' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<img src='imagenes_menu/untitled.png' width='20' height='20' style='cursor:pointer' />";
contLin++;
}
$( "#recambio1").autocomplete({
minLength: 2,
source: availableTags
});
function borrarUltima() {
ultima = document.all.tabla.rows.length - 1;
if(ultima > -1){
document.all.tabla.deleteRow(ultima);
contLin--;
}
}
</script>
Un saludo
EDITO: Tenia que repetir otra vez todo en la funcion agregar.
Código Javascript
:
Ver originalfunction agregar() {
var contLin = 3;
var tr, td, tabla;
tabla = document.getElementById('tabla');
tr = tabla.insertRow(tabla.rows.length);
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input name='button' type=button onclick='agregar()' value='+' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input name='button' type=button onclick='borrarUltima()' value='-' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' name='recambio1' id='recambio1' size='10' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='25' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<input type='text' value='' size='5' >";
td = tr.insertCell(tr.cells.length);
td.innerHTML = "<img src='imagenes_menu/untitled.png' width='20' height='20' style='cursor:pointer' />";
contLin++;
$(function() {
<?php
while($row= mysql_fetch_array($query)) {//se reciben los valores y se almacenan en un arreglo
$elementos[]= '"'.$row['recambio'].'"';
}
$arreglo= implode(", ", $elementos);//junta los valores del array en una sola cadena de texto
?>
var availableTags=new Array(<?php echo $arreglo; ?>);//imprime el arreglo dentro de un array de javascript
$( "#recambio1").autocomplete({
minLength: 2,
source: availableTags
});
}
}
</script>
Gracias