IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Suppression d'éléments dans un tableau (Array)


Sujet :

Flash

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut Suppression d'éléments dans un tableau (Array)
    Bonjour,
    voici mon soucie, je crées dynamquement un liste d'éléments Checkbox, qui ont comme label, les valeurs d'un tableau.
    Lorsque qu'une de ces checkbox est cliquée, j'insère cette valeur dans un autre tableau.
    Ce que je veux faire, c'est supprimé cette même valeur, lorsque la checkbox est désactivée (selected==false).
    Mon soucie c'est que les trois solutions de supression d'éléments de tableaux existants dans Flash (pop, splice et shift) ne correspondent pas à ce que je veux faire.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    51
    <div class="bbcode_container">
    	<div class="bbcode_quote">
    		<div class="quote_container">
    			<div class="bbcode_quote_container"></div>
     
    				//tableau des métiers de la catégorie correspondante
    var tab_labels = ["Assistant de direction","Consultant com","Consultant e-Business Mark","Directeur général","Directeur commercial", "Directeur adjoint", "Directeur d'agence", "Directeur des ventes","Directeur des exports","Directeur marketing","Dir opérationne", "Télé-secrétariat"];
    var listeInfos = [];
     
    //création des composants checkbox autant que de choix de métiers
    	for (i=0; i<tab_labels.length; i++)
    	{
    		tab_labels[i].mavaleur=i;
    		this.createClassObject(mx.controls.CheckBox, "box"+i, i, {label:tab_labels[i], _y:i*20,_width:259});
    	}
    //création de l'élément écouteur qui va me prévenir lorsqu'une checkbox est cliquée				
    var checkboxListener = new Object();
    				checkboxListener.click = function(resultat) 
    				{
    					elementClique = resultat.target.selected;
    					contenu_element = resultat.target.label;
    					for (i=0; i<tab_labels.length; i++) 
    					{
     
    //si une checkbox est cliqué on ajoute le label de la valeur dans le tableau	listeInfos					
    if (elementClique == true) 
    						{
    							listeInfos.push(contenu_element);
    							trace (listeInfos);
     
    							break;
    						}//fin if
    //par contre et c'est là le soucie, je ne sais pas comment supprimer l'élément déselectionné, de mon tableau (précisément, car pop et shift ne sont pas assez précis)
    						else if (elementClique == false) 
    						{
     
    							break;
    						}//fin if
    					}//fin boucle
     
    				}//fin ecouteur
     
    	for (i=0; i<tab_labels.length; i++)
    	{
    		name = "box"+i;
    		this[name].addEventListener("click", checkboxListener);
    	}
     
    		</div>
    	</div>
    </div>

  2. #2
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Si j'ai bien compris ton problème la fonction array.splice devrait résoudre ton problème...
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Le problème c'est que splice utilise des index, c'est à dire des valeurs numériques pour trouver l'élément du tableau à supprimer (tab.splice(n)par exemple), et que dans l'exemple que j'ai mis ci dessus, je ne sais pas comment retrouver la bonne valeur de l'index de l'élément qui est déselectionné et qui doit être supprimé du tableau contenant.

  4. #4
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Quel est le but de ton application ? Je me demande s'il est vraiment nécessaire de suivre en direct les modifications apportées par l'utilisateurs et pas simplement lorsqu'il cliquera sur un bouton...
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Le but de l'application est de récupérer toutes les valeurs de CheckBox true, pour les envoyées vers un fichier PHP (avec la méthode SendAndLoad) qui va insérer ces données dans une BDD.

    Tout ça, je sais le faire, mais mon problème, c'est la supression d'éléments du tableau contenants, en ayant comme info le label du bouton et non son index dans le tableau.

Discussions similaires

  1. Suppression de plusieurs éléments dans un tableau
    Par oitsuki dans le forum jQuery
    Réponses: 3
    Dernier message: 27/08/2012, 14h26
  2. [JavaScript] Suppression des multiples dans un tableau (array) alphanumérique
    Par danielhagnoul dans le forum Contribuez
    Réponses: 0
    Dernier message: 07/06/2011, 11h40
  3. Suppression d'un élément dans un tableau
    Par hammag dans le forum Langage
    Réponses: 1
    Dernier message: 25/06/2009, 15h30
  4. Réponses: 6
    Dernier message: 10/01/2009, 14h12
  5. Réponses: 1
    Dernier message: 02/04/2007, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo