Excelente, muchas gracias ZEROKILLED, hice lo que me comentaste y funcionó, la verdad no sabía que no se podía usar el índice en este caso. Voy a investigar mas este asunto. Para el que lo desee, dejo el codigo completo con tres items de menu:
Código javascript
:
Ver originalvar indiceFilaForm=1;
function agregarProducto()
{
myNewRow = document.getElementById("tablaProducto").insertRow(-1);
myNewRow.id=indiceFilaForm;
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML="<select name='vid_producto_"+indiceFilaForm+"' onchange='cambia_precio("+indiceFilaForm+")' ><option value=1>AirLink - PCI AIR LINK N (u$s 45.00)</option><option value=2>American Tourister - FUNDAS TELA AVION (u$s 8.00)</option><option value=3>Case Logic - CASE LOGIC (u$s 36.00)</option></select>";
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML="Cant.<input type=text name='vcantidad_"+indiceFilaForm+"' size='3' value='1' style='text-align:center;' />";
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML="u$s<input type=text name='vprecio_"+indiceFilaForm+"' id='vprecio' size='6' style='text-align:right;' />";
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML="<input type='button' value='Quitar' onclick='quitarProducto(this)'>";
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML="";
myNewCell=myNewRow.insertCell(-1);
myNewCell.innerHTML="";
indiceFilaForm++;
}
function quitarProducto(obj)
{
var oTr = obj;
while(oTr.nodeName.toLowerCase()!='tr')
{
oTr=oTr.parentNode;
}
var root = oTr.parentNode;
root.removeChild(oTr);
}
// Precios de los productos
var precio_1="23.00";
var precio_2="120.00";
var precio_3="54.00";
function cambia_precio(indice)
{
var id_producto;
id_producto = document.f1['vid_producto_' + indice][document.f1['vid_producto_' + indice].selectedIndex].value;
if (id_producto != "")
{
mi_precio = eval("precio_" + id_producto);
document.f1['vprecio_' + indice].value = mi_precio;
document.f1['vprecio_' + indice].text = mi_precio;
}
else
{
document.f1['vprecio_' + indice].value = "";
document.f1['vprecio_' + indice].text = "";
}
}
Código HTML:
<table>
<tr class="tablerow1">
<td width="10%"><b>Articulos</b></td>
<td width="90%">
<table cellpadding='3' cellspacing='3' style='border:#999999' id="tablaProducto">
<tr bgColor='#CCCCCC'></tr>
</table>
<input type="button" onClick="agregarProducto()" value="Agregar Producto" >
</td>
</tr>
<table>
Espero que les sirva
Mil gracias y saludos...
Eduardo