Hola y buenos días, tengo un problema con un sistema web, en especifico en una tabla dentro de la cual al pulsar un botón se crea una fila con 5 campos de texto en los cuales debo introducir valores, en el penúltimo campo de la fila tengo que hacer una multiplicación del valor introducido en el tercer campo por X cantidad (el valor X por el que multiplicare no es lo importante porque ya lo tengo), en la primera fila si me realiza el calculo pero a partir de la segunda no lo hace... yo se solo lo basico de javascript por lo que he intentado miles de cosas pero nada ha funcionado.
para que tengan una mejor idea acá les dejo el código que genera la fila con los campos en javascript
:
Código HTML:
function nueva_linea() {
$("#lineas").append('<tr>');
$("#lineas").append('<td> <input type="text" class="importe_linea" name="valorx[]" id="desde" value=""/>');
$("#lineas").append('<td> <input type="text" class="importe_linea" name="valorA[]" id="hasta" value=""/>');
$("#lineas").append('<td> <input type="text" class="utxhect" id="utxhect" name="valorB[]" onchange="calcular_total()" value=""/>');
$("#lineas").append('<td> <input type="text" class="importe_linea" id="bolivares"/>');
$("#lineas").append('<td> <input type="text" class="importe_linea" id="opc" value=""/>');
$("#lineas").append('</tr>');
}
continuo, el campo utxhect es en el cual se va introducir el valor, y el campo bolivares es en el cual se va a calcular la multiplicacion, para eso uso la siguiente funcion de javascript
:
Código HTML:
function calcular_total() {
importe_total = 0
$("#utxhect").each(
function(index, value) {
importe_total = document.getElementById('utxhect').value * Xcantidad;
}
);
$("#bolivares").val(importe_total);
}
Xcantidad es un valor extraido de la base de datos con php y si funciona puse Xcantidad solo de ejemplo. ahora les colocare una imagen donde se ve claramente que es lo que sucede:
la columna marcada en rojo es donde debería realizar el calculo, se ve claramente que en la primera fila si lo realiza pero a partir de la segunda no lo hace.
de antemano gracias por la ayuda que me puedan brindar, y espero que me explicase claramente. nuevamente gracias.
Pdta aca les pongo el código completo:
Código:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="all" />
<link href="../images/mas.png" rel="shortcut icon" type="image/x-icon" />
<link rel="stylesheet" href="../css/styleconsultas.css" type="text/css" media="screen"/>
<title>.:SICCI:.</title>
<?php
$anoelecto= $_REQUEST["Anoelecto"];
include("../modelo/conexion.php");
$conexion=Crear_Conexion('localhost','root','root');
/*CONSULTA PARA CALCULAR CUANTOS BOLIVARES EQUIVALEN LA CANTIDAD DE UTs*/
$a="select * from unidadtributaria where ano = ".$_REQUEST["Anoelecto"]."";
$b=Consulta_BD($a,'impuesto',$conexion);
$c=Obtener_Resultados($b);
$valorUT=$c["valor"];/*valor de en bs de la UT actual*/
?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
function calcular_total() {
importe_total = 0
$("#utxhect").each(
function(index, value) {
importe_total = document.getElementById('utxhect').value;
}
);
$("#bolivares").val(importe_total);
}
function nueva_linea() {
$("#lineas").append('<tr>');
$("#lineas").append('<td> <input type="text" class="importe_linea" name="valorx[]" id="desde" value=""/>');
$("#lineas").append('<td> <input type="text" class="importe_linea" name="valorA[]" id="hasta" value=""/>');
$("#lineas").append('<td> <input type="text" class="utxhect" id="utxhect" name="valorB[]" onchange="calcular_total()" value=""/>');
$("#lineas").append('<td> <input type="text" class="importe_linea" id="bolivares"/>');
$("#lineas").append('<td> <input type="text" class="importe_linea" id="opc" value=""/>');
$("#lineas").append('</tr>');
}
</script>
</head>
<body style="background: #666;" onLoad="adicionarFila()">
<?php
//se compara si existe iniciada una sesion de usuario
if (isset($_SESSION['k_username']))
{
?>
<div id="tope2">
<img src="../images/LOGO2.png" width="46%" height="auto" style="margin-left:2%; margin-top:0.5%; float:left"/>
</div>
<div id="contenedor">
<form id="formElem" name="formElem" action="../controlador/procesartabejidoruralabterior.php" onsubmit="return validacion(this)">
<legend style="text-align:center">Registro de Tabuladores de Años Anteriores</legend>
<input name="cont" type="hidden" id="cont" value="0" >
<input name="filas" type="hidden" id="filas" value="" >
<div id="mostradorUT" style="margin-bottom:1%">Costo de Unidad Tributaria en el año <?php echo $anoelecto;?>: <?php echo $valorUT;?>Bs.F</div>
<table width="80%" border="1" align="center" bordercolor="#fff" id="contenido" style="top:10%">
<caption align="top" style=" border:#fff solid 1px; -webkit-border-top-right-radius: 12px;
-webkit-border-top-left-radius: 12px; padding: 5px 5px; color:#FFF; font-weight:bold; background: url(menu_files/css3menu1/mainbk.png);">
<span class="texto_Encabezados">
Año <input id="ano" name="ano" value="<?php echo $anoelecto;?>" style="background:none; border:hidden; color:#FFF; font-weight:bold; font-family:'Century Gothic', Helvetica, sans-serif; font-size:16px; width:auto" readonly="readonly"/>
</span>
</caption>
<tr align="center" bgcolor="#666" style="color:#FFF" >
<td style="font-size:16px; font-weight: bolder" width="20%">Desde</td>
<td style="font-size:16px; font-weight: bolder" width="20%">Hasta</td>
<td style="font-size:16px; font-weight: bolder" width="20%">UT por Hectareas</td>
<td style="font-size:16px; font-weight: bolder">Bs.F</td>
<td style="font-size:16px; font-weight: bolder">Opciones</td>
</tr>
<tbody id="lineas">
</tbody>
<tr bgcolor="#F1F1F1" onMouseOver="this.style.backgroundColor='#DCDCDC';this.style.cursor='hand';" onMouseOut="this.style.backgroundColor='#F1F1F1'"o"];">
<tr style=" background: #CCC; border:#FFF 1px solid; -webkit-border-bottom-right-radius: 12px;
-webkit-border-bottom-left-radius: 12px; border-collapse:collapse">
<td colspan="6">
<div id="Boton" align="center" style="margin-top:8px">
<input name="button" type="button" class="button" value="Agregar Renglón" onclick="nueva_linea(), calcular_total()"/>
<input name="guardar" type="submit" value="Guardar" class="button"/>
<a href="seleccionanos.php"><input name="guardar" type="button" value="Atrás" class="button"/></a>
<a href="menu.php"><input name="guardar" type="button" value="Inicio" class="button"/></a>
</div>
</td>
</tr>
</table>
</form>
</div>
<?php }
else
{ //si no existe iniciada una sesion de usuario envia a la Pag Principal
echo '<script language="javascript"> location.href="../index.html";</script>';
}
?>
</body>
</html>