Accediendo a la matriz de nombres de entrada usando JavaScript
Frecuentes
Visto 427 equipos
0
Tengo el siguiente formulario HTML
<form action="#" method="post">
<table>
<tr>
<td><label>Product:<label> <input type="text" /></td>
<td><label>Price:<label> <input type="text" /></td>
<td><label>Quantity:<label> <input type="text"/></td>
<td><label>Amount:<label> <input type="text" name="amount[]"/></td>
</tr>
<tr>
<td><label>Product:<label> <input type="text" /></td>
<td><label>Price:<label> <input type="text" /></td>
<td><label>Quantity:<label> <input type="text"/></td>
<td><label>Amount:<label> <input type="text" name="amount[]"/></td>
</tr>
<!---only two rows have been created by the user -->
<input type="button" value="Add product" onClick="addProductRow()"/>
<input type="submit" value="Submit"/>
</table>
</form>
Los campos de entrada son creados dinámicamente por el usuario (hay un botón para agregar una fila a la página). Cuando el usuario agrega el precio y la cantidad, la cantidad (precio * cantidad) debe mostrarse en el campo de cantidad relevante.
Mi problema es, ¿cómo puedo acceder a cada campo de cantidad para insertar la cantidad total usando JavaScript o jQuery?
Gracias de antemano.
3 Respuestas
0
Lo que yo haría en este caso es usar parentNode
hasta llegar al contenedor <tr>
y luego use ese nodo de fila de la tabla para buscar los campos de entrada.
Respondido el 12 de junio de 12 a las 15:06
0
También debe agregar una ID a cada campo (un nombre de matriz como quantityfields[]
y pricefields[]
también funciona) y use el estándar document.getElementById("quantityfields[0]")
Yo tambien he visto document.getElementsByName(name)
que devolverá una matriz que puede atravesar y hacer lo que quiera, y no tendría que usar una identificación adicional, pero creo getElementById
Es más común.
Respondido el 12 de junio de 12 a las 15:06
0
usando jQuery (en caso de que no tenga identificaciones y solo haya una tabla en la página)
var total;
$("table").find("tr").each(function(index, elem){
total = total + parseInt($("td:eq(3) input", this).val());
});
Respondido el 12 de junio de 12 a las 15:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript jquery html forms dom or haz tu propia pregunta.
¿Has probado algo? - Florian Margaine