Forums Développement Multimédia

Aller au contenu

Modifier un texte dynamique dans un array

array dynamique checkbox

4 réponses à ce sujet

#1 cortoh

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 451 messages

Posté 08 January 2019 - 06:18 AM

Bonjour,

J'aurais besoin d'aide pour modifier un texte dynamique lié à une checkbox, chaque checkbox possède un texte dynamique qui me permettra de récupérer sa valeur et qui sera par la suite envoyé dans un PHP, à ce stade du code je n'arrive pas à modifier le texte dynamique.

Merci à vous pour votre aide.

Code AS3:

var tab_val_checkbox:Array = [form_visite.val_checkbox_1.text = "", form_visite.val_checkbox_2.text = "", form_visite.val_checkbox_3.tex = ""];
               
var max_tab_val_checkbox:int = tab_val_checkbox.length;

var tab_checkbox:Array = [form_visite.checkbox_1, form_visite.checkbox_2, form_visite.checkbox_3];
               
var max_tab_checkbox:int = tab_checkbox.length;

  for (var i:int=0 ; i < max_tab_checkbox; i++)

{
  tab_checkbox[i].addEventListener (MouseEvent.CLICK, actionCheckbox);
}

  function actionCheckbox(me:MouseEvent):void

{

var indexClip:int = tab_checkbox.indexOf (me.target);


if(tab_checkbox[indexClip].currentFrame == 1)

{
  tab_checkbox[indexClip].gotoAndStop(2); // CheckBox coché
  tab_val_checkbox[indexClip].text = "x";
}

else
 
{
  tab_checkbox[indexClip].gotoAndStop(1); // CheckBox décoché
  tab_val_checkbox[indexClip].text = "";
}
}
 


#2 cortoh

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 451 messages

Posté 08 January 2019 - 22:40 PM

Re,
Pas trouvé de solution, du coup pour faire plus simple j'abandonne les cases à cocher (sous forme de clip) et je les remplaces par du texte dynamique, sur lesquels on cliquera directement, la fonction sur chaque texte dynamique est:

form_visite.val_checkbox_1.addEventListener (MouseEvent.CLICK, testVariables);

function testVariables(me:MouseEvent):void

{
  if (form_visite.val_checkbox_1.text == "_")
 
  {
   form_visite.val_checkbox_1.text = "x";
  }

  else
 
  {
   form_visite.val_checkbox_1.text = "_";
  }
}
 

Je dois répéter cette fonction sur 42 textes dynamique, le problème c'est que je n'arrive pas à le reproduire dans un tableau comme je les fait plus haut pour les cases à cocher.

#3 cortoh

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 451 messages

Posté 09 January 2019 - 18:26 PM

Voilà enfin réussi à écrire le script de la bonne façon.

var tab_checkbox:Array = [form_visite.val_checkbox_1, form_visite.val_checkbox_2, form_visite.val_checkbox_3];
               
var max_tab_checkbox:int = tab_checkbox.length;

  for (var i:int=0 ; i < max_tab_checkbox; i++)

{
  tab_checkbox[i].addEventListener (MouseEvent.CLICK, actionCheckbox);
}
 
  function actionCheckbox(me:MouseEvent):void

{
 
var indexClip:int = tab_checkbox.indexOf (me.target);
 
  if (tab_checkbox[indexClip].text == "")
 
  {
   tab_checkbox[indexClip].text = "x";
  }
 
else if (tab_checkbox[indexClip].text == "x")
 
  {
   tab_checkbox[indexClip].text = "";
  }
}
 


#4 cortoh

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 451 messages

Posté 09 January 2019 - 22:35 PM

Salut,
Sur certaines série de 3 cases à cocher un seul choix est possible, donc quand je sélectionne une case si une est déjà cochée elle est décochée.
J'ai donc établis le script de cette façon mais ça ne fonctionne que dans un sens, si je coche la case 3 je peux la décocher avec la case 2 ou 1 et la case 2 avec la case 1 dans ce sens ça fonctionne mais quand la case 1est cochéé la 2 et la 3 ne la décoche pas, je cherche à trouver une solution à ce problème, si vous avez une idée merci d'avance.


function verif(me:MouseEvent):void

{
  if (form_visite.val_checkbox_1.text == "x")
 
  {
   form_visite.val_checkbox_2.text = "";
   form_visite.val_checkbox_3.text = "";
  }
 
  else if (form_visite.val_checkbox_2.text == "x")
 
  {
   form_visite.val_checkbox_1.text = "";
   form_visite.val_checkbox_3.text = "";
  }
 
  else if (form_visite.val_checkbox_3.text == "x")
 
  {
   form_visite.val_checkbox_1.text = "";
   form_visite.val_checkbox_2.text = "";
  }
 
}
 


#5 cortoh

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 451 messages

Posté 10 January 2019 - 06:05 AM

Je ne sais pas si c'est la meilleur façon mais j'ai solutionné de cette manière.

if (indexClip == 0)
 
  {
   tab_checkbox[1].text = "";
   tab_checkbox[2].text = "";
 
  }
 
  else if (indexClip == 1)
 
  {
   tab_checkbox[0].text = "";
   tab_checkbox[2].text = "";
 
  }
 
  else if (indexClip == 2)
 
  {
   tab_checkbox[0].text = "";
   tab_checkbox[1].text = "";
 
  }
 




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP