2010-07-26 4 views
1

S'il vous plaît jeter un oeil à un segment de mon code Flex:une simple question de programmation sur Flex

<mx:Accordion id="accordian" width="100%" height="326" selectedIndex="0"> 
    <journal:ResearchJournalSection id="researchSection" width="100%"/> 
    <journal:QuestionJournalSection id="questionSection" width="100%"/> 
    <journal:DesignJournalSection id="designSection" width="100%"/> 
</mx:Accordion> 
<mx:Panel width="100%" height="129" layout="absolute" title="FAQ Area"> 
    <mx:Text x="0" y="10" text="What is a research question?&#xa;" width="250 

    height="20" fontWeight="bold"/> 
</mx:Panel> 

ce qu'il fait montre des trois revues (Recherche, Questions et Design), montrant également un panneau de question FAQ sous . Actuellement, le panneau FAQ affiche toujours "Qu'est-ce qu'une question de recherche", mais je veux afficher les éléments correspondant au journal actuellement sélectionné par l'utilisateur, par exemple, si l'utilisateur clique désormais sur "Design Journal", alors le texte correspondant dans la zone FAQ devrait se lire "Qu'est-ce qui importe pour Design?". J'espère que je vais clarifier les choses, merci d'avance!

Répondre

3

Mon Flex est un peu rouillé, mais vous devriez être en mesure d'ajouter un attribut change="myFunction()" sur le pointage d'accordéon à une fonction Actionscript:

myFunction() { 
    var selectedChild = accordian.selectedChild; //here 'accordian' is the id of your mx:Accordion 
    if (selectedChild.id == 'researchSection') { 
     myText.text = "What is a research question?"; //your mx:Text tag should have the id 'myText' 
    } else if (selectedChild.id == 'questionSection') { 
     myText.text = "What is a question question?"; //question question? that doesn't seem right; anyway you'll put something else here 
    } else if (selectedChild.id == 'designSection') { 
     myText.text = "What is a design question?"; 
    } 
} 

La fonction doit être placé dans une balise de script dans le fichier MXML .

+0

Merci, Ander, je suis nouveau à Flex aussi bien. Dois-je mettre myFunction directement dans le fichier mxml où j'ai créé ces journaux? – Kevin

+1

Oui, vous pouvez définir des blocs de script en utilisant '. Jetez un oeil à http://livedocs.adobe.com/flex/3/html/help.html?content=usingas_2.html pour plus de détails. J'ai aussi apporté quelques petites corrections à la réponse. –

+0

Merci beaucoup, Andrei, ça marche parfaitement, j'ai beaucoup appris aussi – Kevin