如何解决动态加载Adobe Flex中的文本输入控件?
|<fx:Script>
<![CDATA[
import mx.controls.*;
import mx.controls.TextInput;
import mx.events.ListEvent;
public function init():void
{
for(var i:int=0;i<5;i++)
{
var txtbox:TextInput = new TextInput();
txtbox.id = \"text\"+i;
myHBox.addChild(txtbox);
}
}
public function getVal():void
{
}
]]>
</fx:Script>
<mx:HBox id=\"myHBox\" width=\"100%\" height=\"100%\">
<mx:Button label=\"Get Value\" click=\"getVal()\"/>
</mx:HBox>
我已经实现了这一点。我将获得5个文本框,其值为空,如果我在每个文本框中输入了一些值,那么我想获取某些事件触发器的特定第3个文本框值。所以我该怎么做。因为是新手。请给我解决方案。提前致谢。
解决方法
为什么不将值仅存储在其自己的数据结构中?
<fx:Script>
<![CDATA[
import mx.controls.*;
import mx.controls.TextInput;
import mx.events.ListEvent;
private var inputs:Vector.<TextInput> = new Vector.<TextInput>();
public function init():void
{
for(var i:uint = 0; i<5; i++)
{
var txtbox:TextInput = new TextInput();
inputs.push(txtbox);
myHBox.addChild(txtbox);
}
}
public function getVal():void
{
var value:String;
for(var i:uint = 0,len:uint = inputs.length; i<len; i++)
{
value += inputs[i].text + \' \';
}
trace(value);
}
]]>
</fx:Script>
<mx:HBox id=\"myHBox\" width=\"100%\" height=\"100%\">
<mx:Button label=\"Get Value\" click=\"getVal()\"/>
</mx:HBox>
另外,如果这是一个新项目,为什么要使用Flex 3?
,您的问题不太清楚,但是如果我理解正确,
尝试这个:
public function init():void
{
for(var i:int=0;i<5;i++)
{
var txtbox:TextInput = new TextInput();
//txtbox.id = \"text\"+i;
txtbox.name = \"text\"+i;
txtbox.addEventListener(Event.CHANGE,onChange);
myHBox.addChild(txtbox);
}
}
private function onChange(event:Event):void{
Alert.show(TextInput(event.target).text,TextInput(event.target).name + \" Changed\");
}
public function getVal():void
{
Alert.show(TextInput(myHBox.getChildByName(\"text3\")).text,\"Value\");
}
干杯
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。