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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.11.2009, 11:02
fil.diesel вне форума Посмотреть профиль Отправить личное сообщение для fil.diesel Найти все сообщения от fil.diesel
  № 1  
Ответить с цитированием
fil.diesel

Регистрация: Oct 2009
Сообщений: 7
По умолчанию ComboBox & function

Ситуация следущая:
Есть ComboBox, при выборе объекта из масива нужно получить в зависимости от
выбора, срабатывание функции например: function1 или function2.
вот как это реализовать не могу сообразить...
код mxml...
Код AS3:
<?xml version="1.0"?>
<!-- Simple example to demonstrate the ComboBox control. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundGradientColors="[0x000000,0x323232]" viewSourceURL="srcview/index.html">
 
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
 
            [Bindable]
            public var cards:ArrayCollection = new ArrayCollection(
                [ {label:"function1", data:1}, 
                  {label:"function2", data:2} ]);
 
            private function closeHandler(event:Event):void {
                //...
            }   
            private function function1():void {
                //...
            }
 
            private function function2():void {
                //...
            }  
        ]]>
    </mx:Script>
    <mx:ComboBox dataProvider="{cards}" width="150" color="0x000000"
        close="closeHandler(event);"/>
</mx:Application>

Старый 22.11.2009, 18:14
Кип вне форума Посмотреть профиль Отправить личное сообщение для Кип Найти все сообщения от Кип
  № 2  
Ответить с цитированием
Кип
 
Аватар для Кип

Регистрация: Oct 2009
Сообщений: 34
Отправить сообщение для Кип с помощью ICQ
Попробуйте так:
Код AS3:
<?xml version="1.0"?>
<!-- Simple example to demonstrate the ComboBox control. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundGradientColors="[0x000000,0x323232]" viewSourceURL="srcview/index.html">
 
    <mx:Script>
        <![CDATA[
        	import mx.controls.ComboBox;
            import mx.collections.ArrayCollection;
 
            [Bindable]
            public var cards:ArrayCollection = new ArrayCollection(
                [ {label:function1, data:1}, 
                  {label:function2, data:2} ]);
 
            private function closeHandler(event:Event):void {
                //...
 
                var cbox:ComboBox = event.target as ComboBox;
                cbox.selectedItem.label();
 
            }   
            private function function1():void {
                label1.text = "function1";
            }
 
            private function function2():void {
                label1.text = "function2";
            }  
        ]]>
    </mx:Script>
    <mx:ComboBox dataProvider="{cards}" width="150" color="0x000000"
        close="closeHandler(event);"/>
    <mx:Label id="label1" text=""/>
</mx:Application>

Старый 22.11.2009, 18:34
fil.diesel вне форума Посмотреть профиль Отправить личное сообщение для fil.diesel Найти все сообщения от fil.diesel
  № 3  
Ответить с цитированием
fil.diesel

Регистрация: Oct 2009
Сообщений: 7
Спасибо.
вот только как быть если нужно указать функцию, находящуюся
по след адресу???
ApplicationManager.Instance.function1
и
ApplicationManager.Instance.function2

Старый 22.11.2009, 18:43
Кип вне форума Посмотреть профиль Отправить личное сообщение для Кип Найти все сообщения от Кип
  № 4  
Ответить с цитированием
Кип
 
Аватар для Кип

Регистрация: Oct 2009
Сообщений: 34
Отправить сообщение для Кип с помощью ICQ
Не уверен, но может быть вот так: ApplicationManager.Instance[cbox.selectedItem.label]

Или изменить dataProvider вот так:
{label:"function1", func:ApplicationManager.Instance.function1, Appdata:1}

тогда в closeHandler вызов функции изменится на cbox.selectedItem.func();


Последний раз редактировалось Кип; 22.11.2009 в 19:46. Причина: добавил другой вариант
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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