Mostrar el valor de un select
Publicado por Unexes (39 intervenciones) el 11/02/2017 16:29:49
Hola a tod@s.
Veréis me he encontrado con un problema y después de un montón de pruebas tengo que recurrir a vosotros para intentar solucionarlo, por lo tanto os doy las gracias por anticipado.
Tengo el código que expongo a continuación, lo que pretendo es que se pueda calcular un costo a partir de seleccionar una Cantidad de una base de datos, de la misma cojo la "TarifaMillar" hago una operación y la muestro en "SubTotal_Precio_Base" hasta aquí todo bien, al entrar en la página me muestra el total de la cantidad menor que se encuentra en la base de datos, ESTO ES CORRECTO, y si escojo otra cantidad me actualiza todo la cantidad, el precio por millar y el "SubTotal_Precio_Base".
Pero a ese "SubTotal_Precio_Base" tengo que seguir sumándole otras cantidades y doy la opción con un select "sel_caras_impresion" de elegir "1 cara" o "2 caras" segun lo que se elije hay un value distinto que quiero mostrar en el div "Valor_Caras_Impresion" para luego sumarlo al valor "SubTotal_Precio_Base" y mostrarlor en otro div que se llamara "TOTAL".
Mi problema es que de entrada NO me muestra en el div "Valor_Caras_Impresion" el value que hay por defecto seleccionado en el select "sel_caras_impresion", solo si cambio entre 1 cara y 2 caras en dicho select me muestra el valor, pero de entrada NO.
¿Como lo soluciono? GRACIAS
Veréis me he encontrado con un problema y después de un montón de pruebas tengo que recurrir a vosotros para intentar solucionarlo, por lo tanto os doy las gracias por anticipado.
Tengo el código que expongo a continuación, lo que pretendo es que se pueda calcular un costo a partir de seleccionar una Cantidad de una base de datos, de la misma cojo la "TarifaMillar" hago una operación y la muestro en "SubTotal_Precio_Base" hasta aquí todo bien, al entrar en la página me muestra el total de la cantidad menor que se encuentra en la base de datos, ESTO ES CORRECTO, y si escojo otra cantidad me actualiza todo la cantidad, el precio por millar y el "SubTotal_Precio_Base".
Pero a ese "SubTotal_Precio_Base" tengo que seguir sumándole otras cantidades y doy la opción con un select "sel_caras_impresion" de elegir "1 cara" o "2 caras" segun lo que se elije hay un value distinto que quiero mostrar en el div "Valor_Caras_Impresion" para luego sumarlo al valor "SubTotal_Precio_Base" y mostrarlor en otro div que se llamara "TOTAL".
Mi problema es que de entrada NO me muestra en el div "Valor_Caras_Impresion" el value que hay por defecto seleccionado en el select "sel_caras_impresion", solo si cambio entre 1 cara y 2 caras en dicho select me muestra el valor, pero de entrada NO.
¿Como lo soluciono? GRACIAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<link rel="stylesheet" href="../css/tlc.css" type="text/css" />
</head>
<?php
require_once('../Connections/miconexion.php');
mysqli_query($conexion, "SET NAMES 'utf8'");
?>
<body>
<div id="Selector">
<select name="selCantidad" id="selCantidad" class="select" onchange="mostrar(this, 'Cantidad', 'TarifaMillar', 'SubTotal_Precio_Base', 'Valor_Caras_Impresion');">
<?php
$tablaseleccion = mysqli_query($conexion,"SELECT * FROM tarjetas WHERE Activacion = '1' ORDER BY Cantidad ASC");
while ($registroseleccion = mysqli_fetch_array($tablaseleccion ))
echo "<option value='".$registroseleccion['Cantidad']."' data-description='".$registroseleccion['Precio_Millar']."'> ".number_format($registroseleccion['Cantidad'], 0, ',', '.')."</option>";
mysqli_free_result($tablaseleccion);
?>
</select>
</div>
<div id="Cantidad" class="presentacion_cantidad"></div>
<div id="TarifaMillar" class="tarifa1"></div>
<div id="SubTotal_Precio_Base" class="tarifa1"></div>
<div id="Impresion">
<select name="sel_caras_impresion" id="sel_caras_impresion" class="select" onchange="mostrar(this, 'Valor_Caras_Impresion');">
<option value="5" selected>1 cara</option>
<option value="7">2 caras</option>
</select>
</div>
<div id="Valor_Caras_Impresion" class="tarifa1"></div>
<script type="text/javascript">
function mostrar( obj, Cantidad, TarifaMillar, TarifaDiv, Valor_Caras_Impresion ){
var tarifamillar = document.getElementById(TarifaMillar) ;
var container1 = document.getElementById(Cantidad) ;
container1.innerHTML = obj[ obj.selectedIndex ].value.replace(/\B(?=(\d{3})+(?!\d))/g, ".") ;
document.getElementById("Valor_Caras_Impresion").value = document.getElementById("sel_caras_impresion").value
var description = obj[ obj.selectedIndex ].dataset.description;
if (description == 0){
} else {
tarifamillar.innerHTML = description;
}
SubTotal_Precio_Base=parseInt(document.getElementById(TarifaMillar).innerHTML.replace('.', ""))*parseInt(document.getElementById(Cantidad).innerHTML.replace('.', ""))/1000;
document.getElementById(TarifaDiv).innerHTML = SubTotal_Precio_Base.toFixed(0) +' €';
}
mostrar(document.getElementById("selCantidad"),"Cantidad", "TarifaMillar", "SubTotal_Precio_Base", "Valor_Caras_Impresion");
</script>
</body>
</html>
Valora esta pregunta


0