obtener valor de un input en tabla dinamica
Publicado por mauro (1 intervención) el 03/08/2017 02:39:41
hola muy buena tarde, espero me pueda ayudar, estoy en un proyecto donde necesito generar una proforma de articulos seleccionados de un listado de productos almacenados en una db y mostrados mediante una tabla dinamica creada con js. pero necesito obtener el valor que el usuario ingrese manualmente a un input y multiplicarlo con el precio del producto, pero como es una tabla dinamica, no se como obtener el valor del input mediante su id, si al momento de generar la tabla todos los input generados tienen el mismo id. como podria solucionar esto,
este es el codigo el js que me arma la tabla dinamica
la parte de ajax es para generar una busqueda en tiempo real,
el codigo html es bastante sencillo solo es un div class="lista_plantilla"
y la funcion para multiplicar los valores obtenidos es este
pero al hacerlo asi solo me funciona para el primer producto de la tabla, no me funciona para los demas como podria solucionar mi problema
de antemano muchas gracias.
este es el codigo el js que me arma la tabla dinamica
la parte de ajax es para generar una busqueda en tiempo real,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function cargar_plantilla(valor){
$.ajax({
url:'./Controllers/articulo.php',
type:'POST',
data:'valor='+valor+'&boton=buscar_plantilla'
}).done(function(resp){
//alert(resp);
var valores = eval(resp);
html="<table class='table table-bordered table-striped table-hover'><thead><tr class='info'><th>#</th><th>Cantidad</th><th>Nombre</th><th>Precio Unidad</th><th>Sub-Total</th><th>Operacio</th>";
for(i=0;i<valores.length;i++){
datos=valores[i][0]+"*"+valores[i][1]+"*"+valores[i][2]+"*"+valores[i][3]+"*"+valores[i][4];
html+="<tr><td>"+(i+1)+"</td><td><input id='cantidad' onblur='multiplicar();'></td><td>"+valores[i][0]+"</td><td><input id='precio' value='"+valores[i][1]+"'</input></td><td><input id='sub-total'></input></td><td><button class='btn btn-danger' onclick='eliminar("+'"'+valores[i][0]+'"'+")'>Eliminar</button></tr>";
}
html+="</tbody></table>"
$("#lista_plantilla").html(html);
});
}
el codigo html es bastante sencillo solo es un div class="lista_plantilla"
y la funcion para multiplicar los valores obtenidos es este
1
2
3
4
5
6
function multiplicar(){
var cantidad = document.getElementsById("cantidad").value;
var precio = document.getElementsById("precio").value;
var resultado = cantidad * precio;
document.getElementById("sub-total").value= resultado;
}
pero al hacerlo asi solo me funciona para el primer producto de la tabla, no me funciona para los demas como podria solucionar mi problema
de antemano muchas gracias.
Valora esta pregunta
0