2012-05-02 2 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, но я не знаю, как идти глубже в 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); 
} 

Спасибо, Роберт

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

Дом, спасибо большое. Это сработало очень хорошо. Теперь я пытаюсь добавить эти ценности, но я получаю NaN результат этой функции

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

Я получил его, я просто должен был дать оба значения переменной «вар totalField: Number = 0; и вар сумма: Number = 0;» –

Смежные вопросы