Comunidad de diseño web y desarrollo en internet

¿Olvidaste tu usuario o clave? «
registrate

Cerrar

sumar valores seleccionados de muchos combobox

Citar            
MensajeEscrito el 21 Mar 2012 09:45 am
Hola, tengo muchos combobox, más de cuarenta, y necesito que se vayan sumando los valores seleccionados en cada uno. Podría ir accediendo al valor de cada uno con "getElementById" y luego hacer la suma pero son muchos. Yo se que se podría hacer con un "bucle for" pero no se muy bien cómo escribirlo... ¿Me podríais ayudar? Muchas gracias!!

Por lamarula

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Mar 2012 05:38 pm
¿getElementById ? ¿Estás en ActionScript o JavaScript?

Jorge

Por solisarg

BOFH

12371 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Mar 2012 10:52 am
En javascript.
No se, la verdad es que no tengo mucha idea pero por que he visto por ahí lo único que se me ocurre es hacer esto:

Código Javascript :

var uno = document.getElementById("uno");
var dos = document.getElementById("dos");
var tres = document.getElementById("tres");
..... (así con los 43 combox)

var preguno = +uno.options[uno.selectedIndex].value
var pregdos = +dos.options[dos.selectedIndex].value
var pregdos = +tres.options[tres.selectedIndex].value
......(así con los 43 combox)

var cajaresult=document.getElementById("cajaresult");
var resultado = (parseFloat(preguno)+parseFloat(pregdos)+parseFloat(pregtres).....(así con los 43 combox));
cajaresult.value=resultado;

Por lamarula

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Mar 2012 02:57 pm
Ok, lo paso entonces al foro de JavaScript, lo pusiste equivocadamente en el de ActionScript

Jorge

Por solisarg

BOFH

12371 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Mar 2012 10:36 pm
Con jquery podrías hacer eso mucho mas fácil, sería algo así:

Código Javascript :

var resultado;

$('select').each(function() {
 
   resultado += $(this).val();

}


lo explico rápidamente, con $('select') guardas todos los select del documento en un array, luego con .each() asignas una funcion a cada uno de los elementos de dicho array(un bucle) y luego en la funcion sumas cada valor a la variable resultado.

saludos.

Por HtrMancera

Claber

321 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

chrome
Citar            
MensajeEscrito el 23 Mar 2012 10:56 am
Lo he puesto así pero no funciona...

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>

<script type="text/javascript" src="jquery-1.7.2.min.js"> </script>

<script type="text/javascript">
function validacion_leveltest ()
{
var resultado;
var cajaresult=document.getElementById("cajaresult");

$('select').each(function() {
 
   resultado += $(this).val();
}
         
cajaresult.value=resultado;

}
</script>
</head>

<body>
<p>
  <select name="uno" id="uno" >
    <option value="0">seleccione</option>
    <option value="0">isn’t</option>
    <option value="0">are</option>
    <option value="0">is it</option>
    <option value="1">is</option>
  </select>
</p>
<p>
  <select name="dos" id="dos" >
    <option value="0">seleccione</option>
    <option value="0">with</option>
    <option value="1">from</option>
    <option value="0">not</option>
    <option value="0">a</option>
  </select>
</p>
<p>
  <select name="tres" id="tres" >
    <option value="0" selected="selected">seleccione</option>
    <option value="0">at the end</option>
    <option value="1">at last</option>
    <option value="0">by the end</option>
    <option value="0">on the end</option>
  </select>
</p>
<p>
  <input type="button" name="miboton4" value="sumar" onclick="validacion_leveltest();" />
  <input type="text" name="cajaresult" id="cajaresult" value="" />
</p>
</body>
</html>

Por lamarula

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Mar 2012 01:05 pm
El problema era que estaba tomando el valor de cada select como un string, por eso no funcionaba ^^

prueba con esto:

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script type="text/javascript">

</script>
</head>

<body>
<p>
  <select name="uno" id="uno" class="foo">
    <option value="3">seleccione</option>
    <option value="2">isn’t</option>
    <option value="4">are</option>
    <option value="2">is it</option>
    <option value="1" selected="selected">is</option>
  </select>
</p>
<p>
  <select name="dos" id="dos" >
    <option value="5">seleccione</option>
    <option value="2">with</option>
    <option value="1">from</option>
    <option value="3">not</option>
    <option value="6">a</option>
  </select>
</p>
<p>
  <select name="tres" id="tres" >
    <option value="2" selected="selected">seleccione</option>
    <option value="3">at the end</option>
    <option value="1">at last</option>
    <option value="5">by the end</option>
    <option value="4">on the end</option>
  </select>
</p>
<p>
  <input type="button" name="miboton4" value="sumar" id="sumar" />
  <input type="text" name="cajaresult" id="cajaresult" value="" />
</p>

<script type="text/javascript">

$('#sumar').on('click', function(){
    
     resultado = 0;

     $('select').each(function(){   
       
       resultado += ($(this).val())*1
      

      });
     $('#cajaresult').val(resultado);

    });

</script>
</body>
</html>

Por HtrMancera

Claber

321 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

chrome
Citar            
MensajeEscrito el 23 Mar 2012 04:57 pm
Mejor es usar parseInt();

Código Javascript :

resultado += parseInt($(this).val(), 10);

Por DriverOp

Claber

1941 de clabLevel



 

opera
Citar            
MensajeEscrito el 07 May 2012 09:04 am
Hola!! perdón por tardar tanto en contestar pero es que he estado liada con otras cosas! Muchas gracias por vuestras respuestas.
Me funciona a la perfección de forma aislada pero..... necesito integrar estos select en un form donde hay otros select que no quiero que se sumen. ¿Habría algun modo de especificar qué select quiero sumar?

Por lamarula

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 May 2012 12:05 pm
Pues ponle un class en común a todos los selects que quieres hacer participar de la suma y luego usa ese class en el selector de JQuery.

Por DriverOp

Claber

1941 de clabLevel



 

opera
Citar            
MensajeEscrito el 07 May 2012 12:20 pm
ah, vale!! muchas gracias!. Ahora ya funciona!

Por lamarula

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2012 06:45 am
friends ... Tengo algún problema en vb.net 2010
en asp.net que establezca la propiedad AutoPostBack = true
pero ¿qué hacer en vb.net

tabla de productos
Identificación del principal int
nombre
premio

en el nombre de combinación de productos será el usuario seleccione un nombre display.whwn sus detalles deben estar en las etiquetas de la pantalla.

código
ds = obj.calldata ("SELECT * FROM producto donde pro_name =" & ComboBox1.DisplayMember & "")
Label10.Text = ds.Tables (0). Filas (0). Item (1). ToString
Label11.Text = ds.Tables (0). Filas (0). Item (2). ToString
Label12.Text = ds.Tables (0). Filas (0). Item (3). ToString
Label13.Text = ds.Tables (0). Filas (0). Item (4). ToString
Label14.Text = ds.Tables (0). Filas (0). Artículo (5). ToString
Label15.Text = ds.Tables (0). Filas (0). Item (6). ToString
Label16.Text = ds.Tables (0). Filas (0). Artículo (7). ToString
Label2.Text = ds.Tables (0). Filas (0). Artículo (8). ToString

pero no sé en cuyo caso debe ser escrito ..
He intentado con muchos .. también en el cambio de índice seleccionado ..
pero problemas es que muestra sólo el tiempo 1CE ... si elige otro nombre de combobox doesnot espectáculos ...
plzz me ayudan
i hav a presentar mi proyecto en 30 de junio

Por saleeemamalik

0 de clabLevel



 

firefox

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.