![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2009
Сообщений: 7
|
Ситуация следущая:
Есть ComboBox, при выборе объекта из масива нужно получить в зависимости от выбора, срабатывание функции например: function1 или function2. вот как это реализовать не могу сообразить... код mxml... <?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> |
|
|||||
|
Попробуйте так:
<?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> |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 7
|
Спасибо.
вот только как быть если нужно указать функцию, находящуюся по след адресу??? ApplicationManager.Instance.function1 и ApplicationManager.Instance.function2 |
|
|||||
|
Не уверен, но может быть вот так: 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. |
|
|
« Предыдущая тема | Следующая тема » |
|
|