Saludos a todos, tengo un problema con un codigo para multiplicar unos valores, la cuestion es que traigo un listado de productos desde una bd, con un while genero la lista, al clickear un checkbox suma o resta el precio de cada producto, hasta ahi todo bien, el problema surge cuando creo la funcion para multiplcar ya que apenas me estoy introduciendo en el javascript, cuando cliqueo el checkbox y selecciono del combobox la cantidad de productos, en vez de multiplicar precio x cantidad multiplica precio x precio tantas veces como se haya seleccionado en el combobox, es decir lo eleva a la potencia.
Necesito que si selecciono 4 multiplique por 4 y si selecciono 2 solo multiplique por 2.
aca les dejo el codigo
Código Javascript
:
Ver original<script>
var total=0;
function sumar(valor) {
total += valor;
document.f1.total.value=Math.round(total * 100) / 100;
}
function restar(valor) {
total-=valor;
document.f1.total.value=Math.round(total * 100) / 100;
}
function multiplica(valor) {
total*= valor;
document.f1.total.value=Math.round(total * 100) / 100;
}
function dividir(valor) {
total/=valor;
document.f1.total.value=Math.round(total * 100) / 100;
}
function comparar(){
var a = parseInt(<?php echo $gastar; ?>);
var b = parseInt(document.f1.total.value);
if (a<=b) {
alert('Haz alcanzado el monto máximo para tu pedido, por favor elimina algunos productos de tu selección');return false;
}
}
</script>
y aqui el codigo del listado
Código HTML:
Ver original<form action="procesar_pedido1.php" method="post" name="f1" id="f1"><p>
Código PHP:
Ver original<?php
require('conexion.php');
$csql = "SELECT * FROM productos where existencia='SI' order by codigo ASC";
$codigo = $row["codigo"];
$producto = $row["producto"];
$precio = $row["precio"];
$cantidad = $row["cantidad"];
?>
Código Javascript
:
Ver original<script language="javascript">
function deshabilita(codigo)
{
if (document.getElementById("pedido" + codigo).checked) {
document.getElementById("cantidad" +codigo).disabled = false;
} else {
document.getElementById("cantidad" +codigo).disabled = true;
}
}
</script>
Código PHP:
Ver original<?php
$c=$c+1;
if($c%2==0) //si el residuo es 0 la pintamos de un color
$bgc='#DFDFDF';
else //sino la pintamos de otro
$bgc='#EEEEEE';
echo"<tr bgcolor=$bgc height=20 class=Estilo5><td><center>$codigo</td><td><center>$producto</td><td><center><input type='checkbox' name='pedido".$codigo."' id='pedido".$codigo."' value='".$precio."' onClick='if (this.checked) sumar(".$precio."); else restar(".$precio.");comparar();deshabilita(\"$codigo\");'></td><td><center><select id='cantidad".$codigo."' name='cantidad".$codigo."' onchange='if (this.change) dividir(".$precio."); else multiplica(".$precio.");'disabled><option selected='selected'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option></select></td><td><center>$precio</td></tr>";
echo"<input type='hidden' name='codigo".$codigo."' value='".$codigo."'>";
echo"<input type='hidden' name='producto".$codigo."' value='".$producto."'>";
echo"<input type='hidden' name='precio".$codigo."' value='".$precio."'>";
} }
?>
Código HTML:
Ver original
<p align="right">Total:
<input type=text name=total value=0 id="total" class="user"> <input type="hidden" name="cantidad" value="<?php echo $cantidad; ?>" />
<input type="hidden" name="codigo" value="<?php echo $codigo; ?>" />
<input type="hidden" name="cesta" value="<?php echo $cesta; ?>">
<input type="hidden" name="gastar1" value="<?php echo $gastar; ?>" />
<div align="left"><input type="image" name="pedido3" width="125" height="105" src="imagenes/caja-registradora.png" align="middle" /></div></p>
eso es todo el codigo del listado, agradezco toda la ayuda que me puedan prestar