Actionscript 3 需要使用组合框状态更改更改文本的帮助吗

Actionscript 3 需要使用组合框状态更改更改文本的帮助吗,actionscript-3,combobox,Actionscript 3,Combobox,我有一个文本框和一个组合框 我希望这样,当有人更改组合框值时,文本字段中的文本应该更改 priceText是文本框的名称 我的代码如下;它不起作用: var comboFar:ComboBox = new ComboBox(); addChild(comboFar); var items2:Array = [ {label:"Arizona", data:"87.97"}, {label:"Colorado", data:"91.97"}, ]; comboFar.dataProvider

我有一个文本框和一个组合框

我希望这样,当有人更改组合框值时,文本字段中的文本应该更改

priceText
是文本框的名称

我的代码如下;它不起作用:

var comboFar:ComboBox = new ComboBox();
addChild(comboFar);

var items2:Array = [
{label:"Arizona", data:"87.97"},
{label:"Colorado", data:"91.97"},
];

comboFar.dataProvider = new DataProvider(items2);

comboFar.addEventListener("change",testFar());

function testFar(event):void {

  priceText.text =event_obj.target.selectedItem.data;

}
试试这个:

priceText.text = (event_obj.target as ComboBox).selectedLabel;
//or
priceText.text = (event_obj.target as ComboBox).selectedItem.label; // replace "label" if there is another label field

但是如果这是Flex,您应该使用绑定。

我认为您应该使用selectedIndex

priceText.text =event_obj.target.selectedIndex.data;

编辑:嗯,我再想一想……你可能想对了,只是 你也可以试着这样做吗

comboFar.addEventListener(Event.CHANGE,testFar());
function testFar(e:Event):void {
  priceText.text =event_obj.target.selectedItem.data;
}

在addEventListener中,您正在调用
testFunc()
。您需要传递函数的引用,如下所示:

import flash.events.Event;
comboFar.addItem({label:"Arizona", data:"87.97"});
comboFar.addItem({label:"Colorado", data:"91.97"});
comboFar.selectedIndex=0;
comboFar.addEventListener(Event.CHANGE,testFunc);
function testFunc(evt:Event):void {
    priceText.text =evt.target.selectedItem.data; // 87.97
    // or
    priceText.text =evt.target.selectedItem.label; // Arizona
}

Iget此错误1136:参数数量不正确。预期1。1067:将void类型的值隐式强制为不相关的类型函数。太好了,很高兴我能帮上忙。以上哪项建议有效?虽然此答案中的前两项建议是正确的,但代码中的问题是因为addEventListener需要对回调函数的引用。看,无限的回答明白我的意思。
import flash.events.Event;
comboFar.addItem({label:"Arizona", data:"87.97"});
comboFar.addItem({label:"Colorado", data:"91.97"});
comboFar.selectedIndex=0;
comboFar.addEventListener(Event.CHANGE,testFunc);
function testFunc(evt:Event):void {
    priceText.text =evt.target.selectedItem.data; // 87.97
    // or
    priceText.text =evt.target.selectedItem.label; // Arizona
}