Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.09.2008, 22:37
Brute Brainiac вне форума Посмотреть профиль Отправить личное сообщение для Brute Brainiac Найти все сообщения от Brute Brainiac
  № 1  
Ответить с цитированием
Brute Brainiac

Регистрация: Jun 2008
Сообщений: 5
По умолчанию цикл по mx:text

Есть много текстовых полей.
Код:
<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]; 
};
Но ессесно ничего не вышло.

Старый 21.09.2008, 00:05
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
<?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>
А вообще, способов можно десятки придумать...
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 21.09.2008 в 00:33.
Старый 25.09.2008, 13:22
mitado вне форума Посмотреть профиль Отправить личное сообщение для mitado Найти все сообщения от mitado
  № 3  
Ответить с цитированием
mitado

Регистрация: Dec 2007
Сообщений: 52
Код:
[Bindable] private var _textData:Array=["Текст 1", "Текста 2", ....];
...
<mx:Repeater id="textRep" dataProvider="{_textData}">
   <mx:Text text="{textRep.currentItem}" width="200" height="50"/>
</mx:Repeater>

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:24.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.