2009-12-10 8 views
1

J'utilise un combobox pour les Etats-Unis, link. L'étiquette est définie sur le nom complet de l'état, tandis que l'attribut value contient l'abréviation. Ce que je veux faire est d'obtenir la valeur de l'élément sélectionné. J'ai donc essayé combo.selectedItem.value et combo.selectedItem. @ Value, mais aucun d'entre eux n'a fonctionné. Quelqu'un peut-il nous éclairer s'il vous plaît?Flex Combobox: comment obtenir la valeur de l'article sélectionné?

Répondre

9

Voici un exemple simple qui pourrait être utile.

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 
<mx:ComboBox id="comboBox" dataProvider="{[{label:'California', value:'CA'}, {label:'New York', value:'NY'}]}" /> 
<mx:Label text="{comboBox.selectedItem.value}" /> 
</mx:Application> 


Voici un autre exemple. Dans celui-ci, nous utilisons XML en tant que dataProvider.

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 
    <mx:XML id="xml" xmlns=""> 
     <states> 
      <state label="Alabama" value="AL" country="US" /> 
      <state label="Alaska" value="AK" country="US" /> 
      <state label="Arkansas" value="AR" country="US" /> 
     </states> 
    </mx:XML> 
    <mx:ComboBox id="comboBox" dataProvider="{xml.state}" labelField="@label" /> 
    <mx:Label text="{[email protected]}" /> 
</mx:Application> 
+0

Merci, cela fonctionne. Juste pour ma connaissance, j'aime toujours savoir comment obtenir la valeur de l'élément sélectionné si j'ai le XML comme fournisseur de données, comme celui montré dans le lien de mon message original. –

+0

Juste édité ma réponse pour inclure un exemple où XML est utilisé comme dataProvider. –

0

Vous pouvez remplir un tableau avec les valeurs que vous souhaitez obtenir et récupérer l'index de l'élément sélectionné dans la zone de liste déroulante (qui doit être la même que dans le tableau).

Ou dans votre composant ... il suffit de regarder pour l'enfant index (élément sélectionné) sur statesUS

+0

Merci. statesUS est une propriété privée de la combobox, je ne pense pas pouvoir y accéder directement. Pourriez-vous être plus précis? –

+0

Vous avez raison ... Je n'ai pas remarqué que c'était une variable privée ... de toute façon, c'est comme un tableau constant, donc il n'y aura pas de problème si vous faites une fonction get. –

Questions connexes