ActionScript - voy bien orientado con esta suma de checkbox?

 
Vista:

voy bien orientado con esta suma de checkbox?

Publicado por lucas (2 intervenciones) el 17/01/2012 18:33:42
Estimados

Tengo diez check box, lo que necesito es ir concatenando un codigo por cada checkbox tildado

Es decir

chk1 chk2 chk3 chk4 chk5 chk6 chk7 chk8 chk9 chk10
1 0 1 0 1 0 1 0 1 0

variable resultado = 1010101010

escribi el siguiente for:

import mx.controls.Alert;
stop();
_global.valores = ""

for(var i = 1; i < 11; i++) {
if (["check" + i].selected == true)
{
valores = valores + i
}
else
{
valores = valores + "0"
}
}


boton1.onRelease = function() {

Alert.show("valor: " + valores);
}

el problema es que al salir el mensaje de alerta me dice "valor = 0000000000" si bien tengo todo marcado y el resultado debiera ser (para todos los check marcados), "12345678910"

Que error estoy cometiendo? se debe a pisar constantemente la variable valores?
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 Alejandro

Concatenar códigos de checkbox seleccionados

Publicado por Alejandro (369 intervenciones) el 27/06/2023 20:40:35
Estimado Lucas.

El problema que estás experimentando se debe a cómo estás accediendo a los checkboxes en tu bucle `for`. En lugar de usar `["check" + i].selected`, debes utilizar `this["check" + i].selected` para acceder correctamente al estado de selección de cada checkbox.

Aquí tienes el código corregido:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import mx.controls.Alert;
stop();
_global.valores = "";
 
for(var i = 1; i < 11; i++) {
  if (this["check" + i].selected == true) {
    valores = valores + i;
  } else {
    valores = valores + "0";
  }
}
 
boton1.onRelease = function() {
  Alert.show("valor: " + valores);
};

Al hacer esta corrección, ahora debería funcionar como se esperaba y el valor de `valores` se concatenará correctamente con los números de los checkboxes seleccionados y los ceros correspondientes.

Es importante utilizar `this["check" + i].selected` para acceder al estado de selección de cada checkbox en lugar de `["check" + i].selected`, ya que de esa manera se referencian correctamente los checkboxes individuales.

Espero que esto resuelva tu problema.
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