Je veux accéder dynamiquement à un tas d'objets dans mon MXML. Je peux construire leur nom / id. Dans JavaScript, je peux faire Je ne peux vraiment pas faire Des conseils?
Thx! P>
Mise à jour: Qu'est-ce que je demande, comment puis-je accéder à l'objet d donné son nom et / ou son identifiant, qui sont tous deux des chaînes. strong> p> getElementyid (id) code> pour obtenir l'objet. Comment puis-je faire cela dans ActionScript STROND>? p>
getchildbyname code> car il est trop lourd: j'ai accès à un objet A, qui a un enfant B, qui a un enfant C, qui ont les enfants d, e & F (leurs noms sont liés à un nom de A). Je veux obtenir d, e & F. pour
getchildbyname code>, il semble que je dois utiliser A pour obtenir b, puis obtenir c, puis obtenir d, e & f. et si ajouter un nouveau parent Pour B (changer la hiérarchie MXML), le code va casser ... et je ne veux vraiment pas faire cela. p>
5 Réponses :
Si vous utilisez MXML, vous devez utiliser Flex. Si vous utilisez Flex, vous pouvez affecter les identifiants d'éléments.
Exemple: P>
<mx:Button id = "myButton" label = "OK" click = "{myLabel.text = 'Button Pressed!'}"/> <mx:Label id = "myLabel" text = "Push the button!"/>
Remarque: ce qui précède est équivalent à dire: var mybutton: bouton = nouveau bouton (); Lorsque vous donnez un composant MXML un identifiant, vous faites vraiment une variable ActionScript
Étant donné que les enfants sont réellement comme des "propriétés" du document, vous devriez être capable de faire quelque chose comme ceci: p>
var elem: type_of_e = ceci ["construire_id_of_f_e"]; p>
Si vous êtes dans un sous-document du document, utilisez simplement parentdocument ["construire_id_of_f_e"] pour obtenir l'élément. p>
Merci! Exactement ce que je cherchais!
@Cristian Ivascu Nice sur IMC :)
En fait, une fois que vous leur attribuez un identifiant, ils deviennent une variable de membre public de l'élément donné. Donc, par exemple, si vous avez
myLabel.text = "Hello world!";
Est-ce que cela fonctionne avec Flex 4?
J'ai une grille vide faite dans MXML, puis dans ActionScript I Ajouter dans cet ordre: P>
J'ai essayé ceci ["CMB" +0], myGrid ["cmB" +0], parentdocument ["CMB" +0] et chaque fois que je reçois "RéférenceError: erreur # 1069 : Propriété CMB0 introuvable sur les adminiseurs et il n'y a pas de valeur par défaut " Ou "RéférenceError: Erreur # 1069: Propriété CMB0 introuvable sur mx.containers.grid et il n'y a pas de valeur par défaut" p>
Remarque: "Adminutilisateurs" est le nom de mon application P>
EDIT: Si cela peut aider quelqu'un, j'ai résolu mon problème une manière différente.
Maintenant, je remplis ma grille avec un répéteur p> maintenant je peux accéder à mes combos dans une boucle avec quelque chose comme: p> :) p> p>
Vous pouvez utiliser getchDildname ("enfantName") code> p>