Foros del Web » Programando para Internet » Javascript »

Asignar valores a radio button

Estas en el tema de Asignar valores a radio button en el foro de Javascript en Foros del Web. Buenas, Se como darle valor 1 o 0 a un radio button: for (i = 0; i < radios.length; i++) { if (radios[i].checked){ if(i==0){ alert("message"); ...
  #1 (permalink)  
Antiguo 04/04/2015, 07:33
 
Fecha de Ingreso: marzo-2015
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Asignar valores a radio button

Buenas,

Se como darle valor 1 o 0 a un radio button:

for (i = 0; i < radios.length; i++) {
if (radios[i].checked){
if(i==0){
alert("message");
} else {
alert("message2");
}

Pero lo que quiero hacer es en un formulario con 4 preguntas y 4 respuestas cada una, darle una puntuación a cada respuesta, luego sumar todas las puntuaciones, y mostrar un mensaje según el resultado.

No sé como asignar esos valores :(
  #2 (permalink)  
Antiguo 04/04/2015, 11:04
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Asignar valores a radio button

Se me ocurren muchas formas de hacer esto. Una de ellas consiste en usar un array con las respuestas correctas, luego, comparas las respuestas seleccionadas por el usuario contra las del array y por cada coincidencia, sumas los puntos que desees.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 05/04/2015, 03:24
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 2 meses
Puntos: 145
Respuesta: Asignar valores a radio button

No se para qué será, pero fácilmente se puede modificar ese resultado modificando el script...
__________________
¿Te sirvió la respuesta? Deja un +1
  #4 (permalink)  
Antiguo 06/04/2015, 10:13
 
Fecha de Ingreso: marzo-2015
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Asignar valores a radio button

Sé que no puede ser muy complicado, pero nunca he programado y me está costando llegar a ese punto en el que de repente lo ves todo claro.
No es una cuestión de respuestas correctas o incorrectas, sino de diferente puntuaciones.
Tengo que hacer un cuestionario con 4 preguntas con 4 respuestas cada una, para valorar el riesgo de tener diabetes. Tengo que asignar valores a cada respuesta, y después sumarlo todo y dar un aviso de menor a mayor riesgo según la puntuación.
Supongo que será todo por medio de condicionales, pero no sé como empezar....
  #5 (permalink)  
Antiguo 06/04/2015, 15:53
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 15 años, 1 mes
Puntos: 36
Respuesta: Asignar valores a radio button

No se si sea la mejor forma de hacerlo, pero te dejo una solucion:

https://jsfiddle.net/aex3h9e3/

Básicamente agarra todos los inputs de tipo radio que están checked, suma su valor y lo muestra en pantalla. De esta forma no te preocupas por la cantidad de preguntas ni respuestas el código no cambia.
  #6 (permalink)  
Antiguo 07/04/2015, 00:09
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Asignar valores a radio button

Lo valore se los puedes asignar directamente:

Código HTML:
Ver original
  1. <input type = "radio" name = "foo" value = 5 />

En donde 5 es el valor, mientras que la suma de los valores de los radiobutton marcados, la puedes hacer así de sencillo:

Código Javascript:
Ver original
  1. var total = 0;
  2. [].forEach.call(document.querySelectorAll("[type=radio]:checked"), function(radio){
  3.     total += parseInt(radio.value);
  4. });
  5. alert(total);

De esta manera, declaro una variable en la que guardaré la suma de los valores, luego, tomo a los radiobutton marcados, iteras sobre dicho conjunto y sumas sus valores, a los cuales les doy un formato numérico pues todo dato proveniente de un <input> es una cadena (la conversión usada por Dafonz también es válida, así como usando Number(), pero existen algunas diferencias). Finalmente, los muestras en un mensaje de alerta.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 07/04/2015, 17:24
 
Fecha de Ingreso: marzo-2015
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Asignar valores a radio button

Gracias por las respuestas a todos.
Voy a intentar hacerlo y ya os cuento como me fue :)
  #8 (permalink)  
Antiguo 11/04/2015, 12:34
 
Fecha de Ingreso: marzo-2015
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Asignar valores a radio button

Hola,
La respuesta de Danfoz me da error
Uncaught TypeError: Cannot read property 'addEventListener' of null

Y la respuesta de Alexis88 me da valor 0 todas las veces :(
  #9 (permalink)  
Antiguo 11/04/2015, 13:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Asignar valores a radio button

Muestra cómo has implementado lo que se te ha dado, de otro modo, no se te podrá ayudar. No olvides usar el highlight respectivo para mostrar el código.



Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #10 (permalink)  
Antiguo 11/04/2015, 14:17
 
Fecha de Ingreso: marzo-2015
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Asignar valores a radio button

Al final lo he hecho de esta manera

https://jsfiddle.net/d151goaz/

Pero no muestra los mensajes de alerta
  #11 (permalink)  
Antiguo 11/04/2015, 14:42
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Asignar valores a radio button

Del código:

Código Javascript:
Ver original
  1. if(i==0>=15){
  2.   // ...
  3. }else if(i<=16>=25) {
  4.   // ...
  5. }

LOL. Por favor, consulta la documentación.
  #12 (permalink)  
Antiguo 11/04/2015, 15:01
 
Fecha de Ingreso: marzo-2015
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Asignar valores a radio button

Ya sé que cometo errores de principiante, pero es lo que soy.
Muchas gracias por tu comentario de todas maneras, seguiré intentando aprender.

Etiquetas: button, formulario, radio, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:49.