PDA

Просмотр полной версии : Combobox - promt, функция


Skriv
04.02.2008, 11:10
Привет

подскажите есть комбобох
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. Иначе он бы выбрал другой раздел для своей темы.