Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2015, 14:17
ivo
 
Fecha de Ingreso: noviembre-2002
Mensajes: 50
Antigüedad: 21 años, 4 meses
Puntos: 1
Exclamación Select, option, atributos y PHP

Hola a todos!
Estoy muy perdido con lo siguiente y necesito resolverlo.

Tengo un Select que se crea a partir de PHP y mediante Javascript se ejecuta una serie de cálculos, de acuerdo a la selección.
Lo cierto es que necesito tomar como variable el ID de cada opción para poder pasarlo a otra página y no tengo forma de que Javascript tome ese valor.

¿O de qué forma puedo generar las variables que necesito para realizar esos cálculos según la opción seleccionada?

Muchas gracias de antemano!

Dejo mi código:

Código PHP:
Ver original
  1. $resultDescuentos = mysql_query("SELECT Id, Nombre, Valor, Tipo
  2.                        FROM Descuento ORDER BY Nombre ASC  
  3.                        ");
  4. echo '<option value="X">-Seleccione descuento-</option>';                      
  5. echo '<option value="0">Sin descuento</option>';
  6. if ($rowDescuentos = mysql_fetch_array($resultDescuentos)){
  7.  
  8.    do {
  9.    
  10. echo '<option id="'.$rowDescuentos["Tipo"].'" value="'.$rowDescuentos["Id"].'" name="'.$rowDescuentos["Valor"].'">'.$rowDescuentos["Nombre"].'</option>';
  11.  
  12. }
  13. while ($rowDescuentos = mysql_fetch_array($resultDescuentos));
  14. } else {
  15. echo 'No hay descuentos.';
  16. }
  17. echo '</select>';
  18.  
  19. echo '<div id="NuevaLinea" class="menuitems"><div id="TotalConDescuento"></div>';  
  20.  
  21. echo '<input id="PrecioUnitarioFinal" name="DescuentoID" type="text">';



Código Javascript:
Ver original
  1. <script>
  2. function descuentoscript() {
  3. var TotalSinDescuento= "<?php echo $valor; ?>";
  4. var CantidadDeEntradas= "<?php echo $CantidadDeEntradas; ?>";
  5. var Opciones = document.getElementById("DescuentoE");
  6. var Descuento = Opciones.options[Opciones.selectedIndex].name;
  7. var NombreId = Opciones.options[Opciones.selectedIndex].value;
  8. var Tipo = Opciones.options[Opciones.selectedIndex].id;
  9. if (Tipo==1){
  10. var preresultado = parseFloat(TotalSinDescuento) * parseFloat(Descuento);
  11. var resultado = parseFloat(preresultado) / 100;
  12. document.getElementById('TotalConDescuento').innerHTML="<b>Total con descuento: $</b>"+(resultado * CantidadDeEntradas);
  13. document.getElementById('PrecioUnitarioFinal').value = NombreId;
  14.     } else if (Tipo==2){
  15. var preresultado = parseFloat(TotalSinDescuento) * parseFloat(Descuento);
  16. var resultado = parseFloat(preresultado) / 100;
  17. document.getElementById('TotalConDescuento').innerHTML="<b>Total con descuento: $ </b>"+(resultado * CantidadDeEntradas);
  18. document.getElementById('PrecioUnitarioFinal').value = NombreId;
  19.     } else if (Tipo==3){
  20. var preresultado = parseFloat(TotalSinDescuento) * parseFloat(Descuento);
  21. var resultado = parseFloat(preresultado) / 100;
  22. document.getElementById('TotalConDescuento').innerHTML="<b>Total con descuento: $ </b>"+(resultado * CantidadDeEntradas);
  23. document.getElementById('PrecioUnitarioFinal').value = NombreId;
  24.     } else if (Tipo==4){
  25. var resultado = parseFloat(Descuento);
  26. document.getElementById('TotalConDescuento').innerHTML="<b>Total con descuento: $ </b>"+(resultado * CantidadDeEntradas);
  27. document.getElementById('PrecioUnitarioFinal').value = NombreId;
  28.     } else if (Tipo==0){
  29. document.getElementById('TotalConDescuento').innerHTML="";
  30. document.getElementById('PrecioUnitarioFinal').value = TotalSinDescuento;      
  31.     } else {
  32. document.getElementById('TotalConDescuento').innerHTML="";
  33.     }
  34. }
  35.  
  36. </script>
__________________
Ivo