2012-05-02 189 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;」 –

相關問題