从flex3中的动态控件获取值

时间:2011-05-25 04:26:08

标签: actionscript-3 flex dynamic controls flex3

我是Flex 3和ActionScript的新手。 我想知道如何通过他们的id获取动态文本框的值。

for (var countz:int = 0; countz < questionCount; countz++)          
{
  hboxtextboxz = new HBox();
  txt = new TextInput();
  txt.id = countz + "";
  hboxtextboxz.addChild(txt);
}

有没有人知道如何从我使用for循环创建的动态文本框中获取值?

2 个答案:

答案 0 :(得分:1)

要动态获取Container的所有子项,请使用getChildren()方法。它将返回UIComponent个数组,如果它们是TextInput个实例,则使用text属性转换它们并获取值。

从HBox中的容器中获取所有textBox的示例代码。

var children:ArrayCollection = textBoxContainer.getChildren();
for(var i:int = 0; i < children.length; i++)
{
    var hbox:HBox = HBox(children[i]);
    var textBox:TextInput = TextInput( hbox.getChildAt(0));
    if(textBox != null)
    {
        trace(textBox.text);
    }
}

以上代码提供的UI结构如下:

<VBox id="textBoxContainer">
    <HBox>
         <TextInput/>
    </HBox>
     ....
</VBox>

答案 1 :(得分:0)

按值来表示文本框内的文字吗?

如果要在for循环中访问它,只需使用变量名称:

txt.text

否则,如果您在MXML中创建文本框,则可以设置其id参数并使用以下命令访问它: (文本字段id).text

应该为您提供已插入该框中的文字。