Ver Mensaje Individual
  #9 (permalink)  
Antiguo 06/05/2010, 22:22
douglasroos
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema al multiplicar valor de checkbox con valor de un select

Muchas gracias por tu respuesta, no habia respondido antes ya que estaba de viaje.

aca pongo el codigo HTML para que veas que no me funciona como lo espero.


Código HTML:
Ver original
  1. <form action="procesar_pedido1.php" method="post" name="f1" id="f1"  onsubmit="return validar()">
  2.             <div align="center">
  3.             <p align="left" class="user"></p>
  4.             <table width="680" border="1" align="center" cellpadding="1" cellspacing="1">
  5.                   <tr>
  6.                     <td height="29"><center class="Estilo4">
  7.                       <b class="Estilo5">C&oacute;digo</b></center>                  </td>
  8.  
  9.                     <td height="29"><center class="Estilo4">
  10.                       <b class="Estilo5">Producto</b></center>                  </td>
  11.                     <td><center class="Estilo4">
  12.                       <b class="Estilo5">Pedido</b>
  13.                     </center>                  </td>
  14.                     <td><center class="Estilo4">
  15.                       <b class="Estilo5">Cantidad</b>
  16.  
  17.                     </center></td>
  18.                      <td><center class="Estilo4">
  19.                       <b class="Estilo5">Precio</b>
  20.                     </center></td>
  21.                 </tr>
  22.  
  23.                   <p>
  24.                     <script language="javascript">
  25. function deshabilita(codigo)
  26.  
  27.       {
  28.  
  29.           if (document.getElementById("pedido" + codigo).checked) {
  30.  
  31.               document.getElementById("cantidad" +codigo).disabled = false;
  32.  
  33.           } else {
  34.  
  35.               document.getElementById("cantidad" +codigo).disabled = true;
  36.  
  37.           }
  38.  
  39.       }
  40.      
  41.  
  42. function multiplica(){
  43.  
  44.     var precio = document.getElementById("pedido5");
  45.  
  46.     var multiplicador = parseInt(document.getElementById("cantidad5").value, 10);
  47.  
  48.     document.f1.total.value = multiplicador*parseInt(precio.value, 10);
  49.  
  50. }      
  51.  
  52. <tr bgcolor=#EEEEEE height=20 class=Estilo5><td><center>5</td><td><center>solomo</td><td><center><input type='checkbox' name='pedido5' id='pedido5' value='27' onClick='if (this.checked) sumar(27); else restar(27);comparar();deshabilita("5");'></td><td><center><select name='cantidad5' id='cantidad5' onchange='multiplica()' disabled><option 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>27</td></tr><input type='hidden' name='codigo5' value='5'><input type='hidden' name='producto5' value='solomo'><input type='hidden' name='precio5' value='27'><input type='hidden' name='gastar' value=''><script language="javascript">
  53. function deshabilita(codigo)
  54.  
  55.       {
  56.  
  57.           if (document.getElementById("pedido" + codigo).checked) {
  58.  
  59.               document.getElementById("cantidad" +codigo).disabled = false;
  60.  
  61.           } else {
  62.  
  63.               document.getElementById("cantidad" +codigo).disabled = true;
  64.  
  65.           }
  66.  
  67.       }
  68.      
  69.  
  70. function multiplica(){
  71.  
  72.     var precio = document.getElementById("pedido2");
  73.  
  74.     var multiplicador = parseInt(document.getElementById("cantidad2").value, 10);
  75.  
  76.     document.f1.total.value = multiplicador*parseInt(precio.value, 10);
  77.  
  78. }      
  79.  
  80. <tr bgcolor=#DFDFDF height=20 class=Estilo5><td><center>2</td><td><center>tomates</td><td><center><input type='checkbox' name='pedido2' id='pedido2' value='28.00' onClick='if (this.checked) sumar(28.00); else restar(28.00);comparar();deshabilita("2");'></td><td><center><select name='cantidad2' id='cantidad2' onchange='multiplica()' disabled><option 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>28.00</td></tr><input type='hidden' name='codigo2' value='2'><input type='hidden' name='producto2' value='tomates'><input type='hidden' name='precio2' value='28.00'><input type='hidden' name='gastar' value=''><script language="javascript">
  81. function deshabilita(codigo)
  82.  
  83.       {
  84.  
  85.           if (document.getElementById("pedido" + codigo).checked) {
  86.  
  87.               document.getElementById("cantidad" +codigo).disabled = false;
  88.  
  89.           } else {
  90.  
  91.               document.getElementById("cantidad" +codigo).disabled = true;
  92.  
  93.           }
  94.  
  95.       }
  96.      
  97.  
  98. function multiplica(){
  99.  
  100.     var precio = document.getElementById("pedido1");
  101.  
  102.     var multiplicador = parseInt(document.getElementById("cantidad1").value, 10);
  103.  
  104.     document.f1.total.value = multiplicador*parseInt(precio.value, 10);
  105.  
  106. }      
  107.  
  108.  
  109. <tr bgcolor=#EEEEEE height=20 class=Estilo5><td><center>1</td><td><center>galletas</td><td><center><input type='checkbox' name='pedido1' id='pedido1' value='8.00' onClick='if (this.checked) sumar(8.00); else restar(8.00);comparar();deshabilita("1");'></td><td><center><select name='cantidad1' id='cantidad1' onchange='multiplica()' disabled><option 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>8.00</td></tr><input type='hidden' name='codigo1' value='1'><input type='hidden' name='producto1' value='galletas'><input type='hidden' name='precio1' value='8.00'><input type='hidden' name='gastar' value=''><script language="javascript">
  110. function deshabilita(codigo)
  111.  
  112.       {
  113.  
  114.           if (document.getElementById("pedido" + codigo).checked) {
  115.  
  116.               document.getElementById("cantidad" +codigo).disabled = false;
  117.  
  118.           } else {
  119.  
  120.               document.getElementById("cantidad" +codigo).disabled = true;
  121.  
  122.           }
  123.  
  124.       }
  125.      
  126.  
  127. function multiplica(){
  128.  
  129.     var precio = document.getElementById("pedido3");
  130.  
  131.     var multiplicador = parseInt(document.getElementById("cantidad3").value, 10);
  132.  
  133.     document.f1.total.value = multiplicador*parseInt(precio.value, 10);
  134.  
  135. }      
  136.  
  137. <tr bgcolor=#DFDFDF height=20 class=Estilo5><td><center>3</td><td><center>harina pan</td><td><center><input type='checkbox' name='pedido3' id='pedido3' value='2.70' onClick='if (this.checked) sumar(2.70); else restar(2.70);comparar();deshabilita("3");'></td><td><center><select name='cantidad3' id='cantidad3' onchange='multiplica()' disabled><option 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>2.70</td></tr><input type='hidden' name='codigo3' value='3'><input type='hidden' name='producto3' value='harina pan'><input type='hidden' name='precio3' value='2.70'><input type='hidden' name='gastar' value=''><script language="javascript">
  138. function deshabilita(codigo)
  139.  
  140.       {
  141.  
  142.           if (document.getElementById("pedido" + codigo).checked) {
  143.  
  144.               document.getElementById("cantidad" +codigo).disabled = false;
  145.  
  146.           } else {
  147.  
  148.               document.getElementById("cantidad" +codigo).disabled = true;
  149.  
  150.           }
  151.  
  152.       }
  153.      
  154.  
  155. function multiplica(){
  156.  
  157.     var precio = document.getElementById("pedido4");
  158.  
  159.     var multiplicador = parseInt(document.getElementById("cantidad4").value, 10);
  160.  
  161.     document.f1.total.value = multiplicador*parseInt(precio.value, 10);
  162.  
  163. }      
  164.  
  165.  
  166. <tr bgcolor=#EEEEEE height=20 class=Estilo5><td><center>4</td><td><center>leche en polvo</td><td><center><input type='checkbox' name='pedido4' id='pedido4' value='15.78' onClick='if (this.checked) sumar(15.78); else restar(15.78);comparar();deshabilita("4");'></td><td><center><select name='cantidad4' id='cantidad4' onchange='multiplica()' disabled><option 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>15.78</td></tr><input type='hidden' name='codigo4' value='4'><input type='hidden' name='producto4' value='leche en polvo'><input type='hidden' name='precio4' value='15.78'><input type='hidden' name='gastar' value=''>
  167.                   </p>
  168.              
  169.                  
  170.               </table>
  171.               <p align="right">Total: <input type=text name=total value=0 id="total" class="user">
  172.  
  173.               <input type="hidden" name="cantidad" value="" />
  174.               <input type="hidden" name="codigo" value="4" />
  175.               <input type="hidden" name="cesta" value="">
  176.               <input type="hidden" name="gastar1" value="" />
  177.           <div align="left"><input type="submit" name="pedido3" value="Enviar pedido" align="middle"></div></p>
  178.               </div>
  179.               </form>

El codigo no me funciona como yo quiero, cuando selecciono cualquiera habilita el select pero no multiplica, solo multiplica el ultimo de los select, y en cuanto habilito otro check entonces no me suma ese valor a la multiplicacion sino que la reemplaza y coloca el precio original. Si me pudieras ayudar te lo agradeceria enormemente, entregue el sistema sin eso y me lo estan pidiendo pero por mas que lo intento no me sale. Muchas gracias desde ya