【问题标题】:Flex Combobox: how to get the value of the selected item?Flex Combobox:如何获取选中项的值?
【发布时间】:2009-12-10 17:08:11
【问题描述】:

我正在为美国各州使用组合框,link。标签设置为状态的全名,而 value 属性保存缩写。我想要做的是获取所选项目的价值。所以我尝试了combo.selectedItem.value 和combo.selectedItem.@value,但它们都不起作用。有人可以解释一下吗?

【问题讨论】:

    标签: apache-flex actionscript-3 flex3


    【解决方案1】:

    这是一个可能有用的简单示例。

    <?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>
    


    这是另一个例子。在这个我们使用 XML 作为 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="{comboBox.selectedItem.@value}" />
    </mx:Application>
    

    【讨论】:

    • 谢谢,这行得通。就我所知,如果我将 XML 作为 dataProvider,我仍然想了解如何获取所选项目的值,就像我原来的帖子链接中显示的那样。
    • 刚刚编辑了我的答案以包含一个将 XML 用作 dataProvider 的示例。
    【解决方案2】:

    您可以使用要获取的值填充数组并检索组合框上所选项目的索引(应与数组中的相同)。

    或者在您的组件中...只需在statesUS 上查找索引(选定项)子项

    【讨论】:

    • 谢谢。 statesUS 是组合框的私有属性,我认为我不能直接访问它。你能说得更具体点吗?
    • 你说得对..我没注意它是一个私有变量......反正这就像一个常量数组,所以如果你做一个get函数是没有问题的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    相关资源
    最近更新 更多