JavaScript - Obtener la suma total de los value de select multiple

 
Vista:
Imágen de perfil de Bladimir

Obtener la suma total de los value de select multiple

Publicado por Bladimir (5 intervenciones) el 18/06/2015 23:14:26
Hola a todos. Tengo un select multiple el cual obviamente tiene varias opciones cada una con un value determinado. Existe una variable llamada n la cual varia su valor dependiendo de la opcion selelccionada. Yo deseo sumar el valor total de las opciones seleccionadas pero el codigo que estoy empleando no me resulta. El codigo del select es:
1
2
3
4
5
6
7
8
9
10
11
<select name="goldman" multiple="multiple" onchange="numerogoldman()">
             <option value=1>Edad >70 años</option>
             <option value=2>Infarto menor a 6 meses</option>
             <option value=3>ECG: ritmo no sinusal o extrasístoles ventriculares</option>
             <option value=4>Extrasístoles ventriculares (>5 p.m.)</option>
             <option value=5>Ingurgitación venosa yugular o ritmo galopante</option>
             <option value=6>Estenosis aórtica</option>
             <option value=7>Cirugía de urgencia</option>
             <option value=8>Cirugía de tórax, abdominal o aórtica</option>
             <option value=9>Mal estado orgánico general</option>
</select>

El codigo javascript es:
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
function numerogoldman() {
 
	     lista = document.elegir.goldman;
	     elegido = lista.selectedIndex;
	     opcion = lista.options[elegido];
	     valorg = opcion.value;
 
	      if (valorg==1){
             n1=5;
	      }else
		      n1=0;
	      if (valorg==2){
	         n2=10;
		  }else
			  n2=0;
	      if (valorg==3){
	          n3=7;
		  }else
			  n3=0;
	      if (valorg==4){
	          n4=7;
		  }else
			  n4=0;
	      if (valorg==5){
	          n5=11;
		  }else
			  n5=0;
	      if (valorg==6){
	          n6=3;
		  }else
			  n6=0;
	      if (valorg==7){
	          var n7=4;
		  }else
			  n7=0;
	      if (valorg==8){
	          n8=3;
		  }else
			  n8=0;
	      if (valorg==9){
	          n9=3;
		  }else
			  n9=0;
	      for(var index = 0; index < this.children.length; index++) {
	            if (this.children[index].selected) {
	            	nt= n1 + n2 + n3 + n4 + n5 + n6 + n7 + n8 + n9;
	         	   document.getElementById("provigoldman").value = nt;
	            }
	        }
}
El valor de la suma deberia aparecer en un input pero no lo hace . Alguna ayuda se agradece. Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Obtener la suma total de los value de select multiple

Publicado por xve (2100 intervenciones) el 19/06/2015 11:00:31
Hola Bladimir, he intentado probar tu código, pero me da error en ... this.children.length... entiendo que no has puesto todo el código...

Mira este código que te he preparado:
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
<form name="elegir">
	<select name="goldman" multiple="multiple" onchange="numerogoldman()">
		<option value=1>Edad >70 años</option>
		<option value=2>Infarto menor a 6 meses</option>
		<option value=3>ECG: ritmo no sinusal o extrasístoles ventriculares</option>
		<option value=4>Extrasístoles ventriculares (>5 p.m.)</option>
		<option value=5>Ingurgitación venosa yugular o ritmo galopante</option>
		<option value=6>Estenosis aórtica</option>
		<option value=7>Cirugía de urgencia</option>
		<option value=8>Cirugía de tórax, abdominal o aórtica</option>
		<option value=9>Mal estado orgánico general</option>
	</select>
</form>
<script>
function numerogoldman()
{
    var lista = document.elegir.goldman.selectedOptions;
    var total=0;
    for(var i=0;i<lista.length;i++)
    {
		valorg=lista[i].value;
		if (valorg==1)
			total+=5;
		if (valorg==2)
			total+=10;
		if (valorg==3)
			total+=7;
		if (valorg==4)
			total+=7;
		if (valorg==5)
			total+=11;
		if (valorg==6)
			total+=3;
		if (valorg==7)
			total+=4;
		if (valorg==8)
			total+=3;
		if (valorg==9)
			total+=3;
	}
	console.log(total);
}
</script>

Te devuelve la suma de los valores seleccionado en el select.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Bladimir

Obtener la suma total de los value de select multiple

Publicado por Bladimir (5 intervenciones) el 20/06/2015 00:03:43
Gracias xve. Funcionó perfecto. Hasta pronto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Obtener la suma total de los value de select multiple

Publicado por Alfredo (1 intervención) el 08/12/2016 22:05:43
¿Qué pasará si son varios select?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar