2012-05-02 137 views
0

如何在此示例中访问TextInput值?获取组中的所有元素

我使用Flex 4.5

<s:VGroup id="qItems" width="100%" styleName="qMain"> 
    <s:HGroup id="id_1"><s:TextInput id="total_1" width="100" text="1.00"/></s:HGroup> 
    <s:HGroup id="id_2"><s:TextInput id="total_2" width="100" text="1.00"/></s:HGroup> 
    <s:HGroup id="id_3"><s:TextInput id="total_3" width="100" text="1.00"/></s:HGroup> 
</s:VGroup> 

我只能访问HGroup IDS,但我不知道如何去更深入的对TextInput加总文本的价值。

这是我使用访问HGroups

protected function viewElements(event:MouseEvent):void{ 
    var messageText:String = "There are " + qItems.numElements + " elements in the MX Panel."; 

    for (var i:int = 0; i < qItems.numElements; i++) 
    { 
    var stringName:String = qItems.getElementAt(i) + ""; 
    if (stringName.indexOf(".") > 1) 
    { 
     stringName = stringName.substr(stringName.lastIndexOf(".")+1, stringName.length); 
    } 
    messageText += "\n" + (i+1) + ". " + stringName; 
    } 
    Alert.show(messageText, "Show Elements", Alert.OK); 
} 

感谢功能,罗伯特

+++++++++++++++++++ ++++++++++++++++++++++++++

Dom,非常感谢。这工作非常好。 现在我想要添加这些值,但我发现了一个南带着这个功能

protected function viewElements(event:MouseEvent):void{ 
    var totalField:Number; 
    var sum:Number; 
    for (var i:int = 0; i < qItems.numElements; i++) 
    { 
    var parentGroup:Object = qItems.getElementAt(i); 
    for (var j:int = 0; j < parentGroup.numElements; j++) 
    { 
     var childGroup:Object = parentGroup.getElementAt(j); 
     totalField = childGroup.getElementAt(4).text; 
    } 
    sum += totalField; 
    } 
    Alert.show(sum.toFixed(2).toString()); 
} 

你能帮我对这个结果。 再次感谢。

回答

0

只需要添加另外的循环,你是好

for (var i:int = 0; i < qItems.numElements; i++) 
{ 
    var currentGroup:Object = qItems.getElementAt(i); 

    for(var j:int = 0; j < currentGroup.numElements; j++) 
    { 
     Alert.show(currentGroup.getElementAt(j).text); 
    } 
} 
+0

我得到了它,我只是给双方VAR值“VAR totalField:数= 0;和VAR总和:数= 0;” –

相关问题