Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Combobox - promt, функция (http://www.flasher.ru/forum/showthread.php?t=107544)

Skriv 04.02.2008 11:10

Combobox - promt, функция
 
Привет

подскажите есть комбобох
1. как при нажатии на например на кнопку вернуть в комбобоксе prompt.

2. Можно ли при выборе addItem выполнить функцию?
Код:

cb.addItem( { label: "Регги", function??? } );

alexcon314 04.02.2008 12:21

1. не совсем ясно что есть "вернуть prompt". если это выпадающий список комбобокса, то можно принудительно его открыть методом my_cb.open()
2. тут тоже непонятно. то ли вы хотите вызывать функцию при добавлении итема (тут просто вызываете ее следующей строкой после addItem()), то ли вы хотите вызывать функцию, имя которой зашито в списке комбобокса при выборе соответствующего итема. в последнем случае сохраняете имя нужной функции в одном из полей списка и по событию change вызываете ее.
Код:

// {label:'Регги', func:'MyFunc'} - элемент списка
cbListener.change=function(){
 _root[my_cb.selectedItem.func]();// вызываем функцию из соответсятвующей области видимости где она прописана
}

в частности в этом примере будет вызвана функция _root.MyFunc()

Skriv 04.02.2008 13:15

не работает выше указанный код :(
трейсит отлично.., а вот на выполнение функции ругается...

по поводу вернуть prompt
когда флешка загружается то в кобобобксе мы видим: Выберите..

после выбора какого Item мы уже никак не увидим Выберите...

Вот отсюда вопрос. можно ли как нибудь вернуть в первоначальное состояние.?

alexcon314 04.02.2008 13:48

в смысле после выбора итема нужно опять чтобы "Выберите" в комбобоксе светилось? ну так принудительно выставить после выбора в том же change-обработчике.
Код:

my_cb.text = 'Выберите'
// или
my_cb.selectedIndex = ...// номер элемента в списке где прописано label='Выберите'


etc 04.02.2008 23:34

alexcon314, может все-таки my_cb.selectedItem.func.apply(_root)?

alexcon314 05.02.2008 00:19

в смысле записать в поле func ссылку на функцию? неплохо.
я имел в виду простую строку-имя функции... .addItem({label:'aaa',func:'MyFunc'}), у вас .addItem({label:'aaa',func:MyFunc})
ммм.. как все это будет работать, если подгружать список извне, т.е. собирать его из строк?
..
да, кстати у автора не работает мой вариант. но он работает в AS3, как выяснилось.

etc 05.02.2008 02:06

Он работает в AS1/AS2. Иначе он бы выбрал другой раздел для своей темы.


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

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