Multiplicar Value de objeto Option con JS
Hola estoy un poco perdido, veamos necesito de una lista de opciones seleccionar un item con un value="cantidad" y este multiplicarlo por 5... cuando lo hago con dos valores asignados a las variables a y b me responde muy bien miren este es el ejemplo
<code>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript">
function product(a,b)
{
return a*b
}
</script>
<script type="text/javascript">
var a = 6;
var b = 5;
</script>
</head>
<body>
<script type="text/javascript">
document.write(a*b)
</script>
<form id="quote1" name="quote1" method="post" action="">
<p>
<select name="item1" size="1" id="item1" dir="ltr" lang="es">
<option value="10" selected="selected">item1</option>
<option value="20">item2</option>
<option value="30">item3</option>
<option value="40">item 4</option>
<option value="50">item 5</option>
</select>
</p>
</form>
</body>
</html>
</code>
Pero cuando intento meterlla seleccion del usuario nomas no me da, me aparece "NaN"... este es el código que uso...
<code>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript">
function product(a,b)
{
return a*b
}
</script>
<script type="text/javascript">
var a = quote1.item1.options[quote1.item1.selectedIndex].value;
var b = 5;
</script>
</head>
<body>
<script type="text/javascript">
document.write(a*b)
</script>
<form id="quote1" name="quote1" method="post" action="">
<p>
<select name="item1" size="1" id="item1" dir="ltr" lang="es">
<option value="10" selected="selected">item1</option>
<option value="20">item2</option>
<option value="30">item3</option>
<option value="40">item 4</option>
<option value="50">item 5</option>
</select>
</p>
</form>
</body>
</html>
</code>
Saben ustedes porque no puedo?... gracias
iamgrimi
Gracias raza , por esas respuesta pero sinceramente no puedooooooo :'( buaaaaaa!!!! no cuedo no cuedo se me hace bien dificl si tienen un ejepliyo se los agradecere
hartum
truco sucio: para asegurarte de que los valores que usas son numericos solo tienes que multiplicarlos por 1 valor=valor*1
;-)
dagi3d
el problema está en que estás intentando recuperar el valor del select antes de haberlo declarado en el documento html
o bien pones esa parte del script después de la creación del select o haces que se llame a la función respondiendo a algún tipo de evento como onload, onchange, etc...
iamgrimi
dagi3d muchas gracias por lo que me respondiste, per que crees anu no me muestra el valor, el código que utilizo es :
<fieldset>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript">
function product(a,b)
{
return a*b
}
</script>
<script type="text/javascript">
var a = parseInt('+quote1.item1.options[quote1.item1.selectedIndex].value+');
var b = 5;
</script>
</head>
<body>
<script type="text/javascript">
document.write(a)
</script>
<form id="quote1" name="quote1" method="post">
<p>
<select name="item1" size="1" id="item1" >
<option value="10" selected="selected">item1</option>
<option value="20">item2</option>
<option value="30">item3</option>
<option value="40">item 4</option>
<option value="50">item 5</option>
</select>
</p>
</form>
</body>
</html>
</fieldset>
Me sigue aparecinendo el buen NaN lo estoy utilizando correctamente?.. o que es lo que sucede si me puede ilustrar esto con un ejemplo te lo agradecería muchisimo
dagi3d
porque recoge el valor del select como si fuese una cadena de texto, por lo que tendrás que pasarla a un entero o un float para poder hacer la multiplicación usando las funciones parseInt o parseFloat respectivamente.