Flash Combo Box ...将文本字段设置为选定值?

时间:2009-12-02 03:28:08

标签: flash actionscript-3 actionscript combobox

嘿大家..我真的很新。我有一个组合框,我使用'selectedIndex'属性给它一个默认值(在第一个(0)索引处的值)。在我的ActionScript中设置此属性会选择下拉列表中的值,但不会将所选值添加到组合框的文本区域。你怎么做到这一点?我做的任何选择都不会影响文本区域。

以下是我的代码示例。组合框列表填写正常。并在列表中选择该值。但是,一旦您在列表中选择了一个值,组合框的列表就会关闭,并且组合框的文本字段中没有任何内容。

    comboBoxData.insert(0, {data:1, label:"Show me something specific"});
        for (i in animations) {

            comboBoxData.push({data: i.uri ,label: "somevalue"});
            }               
        comboBox.dataProvider = comboBoxData;
        comboBox.selectedIndex = 0;
        comboBox.text = comboBox.selectedIndex;

        this._lockroot = true;

我的解决方案是使用AS 2.

谢谢!

-Nick

2 个答案:

答案 0 :(得分:2)

我认为你需要添加一些代码。我真的不明白。你有文字区和组合框吗?如果是这种情况,那么你可以做这样的事情来将selectedIndex赋予文本区域

combo_cmb.selectedIndex=1;
text_txt.text=c.selectedIndex;
var listenerObjectPM:Object = new Object();
listenerObjectPM.change = function(eventObject:Object) {

        text_txt.text=combo_cmb.selectedIndex;

}
combo_cmb.addEventListener("change", listenerObjectPM);

如果您想在文字区域打印标签,可以更改text_txt.text=combo_cmd.selectedItem.label;的值 或者如果要打印数据,请将其更改为text_txt.text=combo_cmb.selectedItem.data;。 如果不是这种情况,你可以编写代码,这样我就可以更好地理解你想要做的事情。

答案 1 :(得分:0)

它应该是您所说的默认行为,但我遇到了同样的问题,这在我的选择更改事件处理程序上修复了它。

e.target.textField.text = e.target.selectedItem.label;