Foros del Web » Programando para Internet » Javascript »

Copiar Fila con Select y Query

Estas en el tema de Copiar Fila con Select y Query en el foro de Javascript en Foros del Web. Hola a todos, Estoy creando una pagina para generar pedidos. Los articulos de los pedidos estan en una lista desplegable y los valores provienen de ...
  #1 (permalink)  
Antiguo 14/12/2009, 15:55
 
Fecha de Ingreso: octubre-2007
Mensajes: 7
Antigüedad: 16 años, 6 meses
Puntos: 0
Copiar Fila con Select y Query

Hola a todos,

Estoy creando una pagina para generar pedidos. Los articulos de los pedidos estan en una lista desplegable y los valores provienen de una query Mysql.

Lo que quiero hacer es que se puedan insertar varios articulos en continúo.

Para eso tengo un script que copia la fila y la adjunta debajo de la primera.

Mi problema es que en la nueva fila copiada, al seleccionar un código de artículo en la lista desplegable, no se rellena el campo descripción. Si escribo una cantidad y luego paso el Form, no pasan los valores de las filas copiadas. solamente pasan los valores de la primera fila.

Aquí les pongo mi código:



<html>
<head>


<!-- Actualizar datos desde selección en la lista desplegable ARTICULOS !-->
<script type="text/javascript">
function actualizalist(){
if(document.getElementById('listacodigo')){
if(document.getElementById('savecodigo')){

var savecodigo = document.getElementById('listacodigo').options[document.getElementById('listacodigo').selectedInd ex].value;
var descripcion = document.getElementById('listacodigo').options[document.getElementById('listacodigo').selectedInd ex].getAttribute("des");

document.getElementById('savecodigo').value=saveco digo;
document.getElementById('descripcion').value=descr ipcion;


}else{alert('El Código no se ha encontrado.');}
}else{alert('La Lista de Selección no se ha encontrado.');}
}
</script>


<!-- SCRIPT para agregar una nueva linea !-->
<script language="javascript" type="text/javascript">

function mas( el )
{
while ( el.parentNode && 'tr' != el.nodeName.toLowerCase() )
{
el = el.parentNode;
}
var t = el.parentNode;
var i = el.rowIndex ;
if (i== t.rows.length)
{
i = t.rows.length;
}
else
{
i = el.rowIndex+1;
}
var copia=el.cloneNode(true);
var inputs=copia.getElementsByTagName('input');
var selects=copia.getElementsByTagName('select');

for(a=0;a<inputs.length;a++)
{
inputs[a].value='';
}

for(a=0;a<selects.length;a++)
{
var opciones=selects[a].options;
for (b=0;b<opciones.length;b++)
{
opciones[b].selected=false;
}
}


el.parentNode.appendChild(copia);
}


</script>

</head>

<body>

<table border="0" cellspacing="0" align="center" class="Estilo_5">
<tr>
<td width="105" align="center">
<td width="100" align="center">Código</td>
<td width="615" align="left">Descripción</td>
<td width="75" align="center">Cantidad</td>
<td width="105" align="center">
</tr>

<?php
$consult=mysql_query("SELECT * FROM articulos ORDER BY codigo");
?>


<tr>
<td colspan="5">
<table id="miTabla" border="0" cellspacing="0" align="center" class="Estilo_5">
<tr id='fila'>
<td width="105" align="center">
<td width="100" align="center">
<label>
<select class="Estilo_5" name="listacodigo" id="listacodigo" onchange="actualizalist()" style="width:100px;">
<option>Seleccione...</option>
<?php
while ($row=mysql_fetch_assoc($consult))
{
print "<option value='".$row["codigo"]."' des='".$row["descripcion"]."'>
".$row["codigo"]."</option>";
}
?>
</select>
</label>
<input class="Estilo_5" type="hidden" size="12" name="savecodigo[]" id="savecodigo" disabled style="border-width:1px"/>
</td>


<td width="615" align="left">
<input class="Estilo_5" name="descripcion[]" id="descripcion" type="text" disabled size="100" maxlength="100" style="border-width:1px"/>
</td>
<td width="75" align="center">
<input class="Estilo_5" align="center" name="savecantidad[]" type="text" id="savecantidad" size="10" maxlength="10" style="border-width:1px"/>


</td>
<td width="105" align="center">
<img src='images/i_mas.png' title='Añadir otro Campo' onclick='mas(this);' style='border:none' height="15">
<img src='images/i_menos.png' title='Eliminar Campo' onclick='borra(this);' style='border:none' height="15">
</td>
</tr>
</table>

<br /><br />
<input class="Estilo_5" type="submit" name="registrar" id="registrar" value="Registrar Pedido" />

</form>

</body>
</html>
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 07:00.