Просмотр полной версии : цикл по mx:text
Brute Brainiac
20.09.2008, 22:37
Есть много текстовых полей.
<mx:Text id="a1" text="-"/>
<mx:Text id="a2" text="-"/>
<mx:Text id="a3" text="-"/>
<mx:Text id="a4" text="-"/>
...
Дан контент для каждого поля.
var aq_1="Текст 1";
var aq_2="Текст 2";
var aq_3="Текст 3";
var aq_4="Текст 4";
...
Как заполнить эти поля контентом с помощью for-a?
Пытался так:
for (var i:Number = 1; i <= 4; i++) {
['a'+i].text = ['aq_'+i];
};
Но ессесно ничего не вышло.
<?xml version="1.0"?>
<u:Main xmlns:u="*" xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.Text;
public var texts:Array = ["foo", "bar", "qwerty", "abcd"];
public function nextText(i:int):String { return texts[i]; }
public function resetFields():void
{
var i:int = numChildren + 1;
var tf:Text;
texts.reverse();
while (i--)
{
if (getChildAt(i) is Text)
{
tf = getChildAt(i) as Text;
texts.unshift(texts.pop());
tf.text = texts[0];
}
}
}
public function randomiseFields():void
{
var i:int = texts.length;
var tf:Text;
texts = randomiseArray(texts);
while (i--) (this["text" + i] as Text).text = texts[i];
}
private function randomiseArray(arr:Array):Array
{
var farr:Array = [];
var i:int = arr.length;
while (i--) farr.push(arr.splice(Math.random() * arr.length, 1)[0]);
return farr;
}
]]>
</mx:Script>
<mx:Button id="reversBTN" label="reverse texts" buttonDown="resetFields()" />
<mx:Button id="randomiseBTN" label="randomise texts" buttonDown="randomiseFields()" />
<mx:Text id="text0" text="{nextText(0)}" width="200" height="50"/>
<mx:Text id="text1" text="{nextText(1)}" width="200" height="50"/>
<mx:Text id="text2" text="{nextText(2)}" width="200" height="50"/>
<mx:Text id="text3" text="{nextText(3)}" width="200" height="50"/>
</u:Main>
А вообще, способов можно десятки придумать...
[Bindable] private var _textData:Array=["Текст 1", "Текста 2", ....];
...
<mx:Repeater id="textRep" dataProvider="{_textData}">
<mx:Text text="{textRep.currentItem}" width="200" height="50"/>
</mx:Repeater>
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.