Просмотр полной версии : ComboBox, ListEvent.
Необходимо следующее:
var str:String = myComboBox.selectedItem.toString();
Причём это нужно сделать именно при клике на каком-нибудь пункте.
Если подписаться на это событие:
myComboBox.addEventListener(ListEvent.CHANGE, event);, то текст из уже установленного пункта можно будет получить, только если выбрать сначала другой.
Если на это:
myComboBox.addEventListener(DropdownEvent.CLOSE, event);, то текст будем получать даже когда никакой пункт не выбран, что само собой разумеется, исходя из типа события.
Как отловить событие нажатия именно на каком-нибудь пункте?
myComboBox.addEventListener(ListEvent.ITEM_CLICK, event); - вот это событие описано в документации, но оно не возникает почему-то.
У комбо бокс есть параметры
если ты в комбо бокс выташил что то из БД иль ввел заранее в массиве
var str:String = myComboBox.selectedItem.{тот параметр который нужен}.toString()
flex его(параметр) не подсвечивает но он есть обрашайся к нему как говориться принудительно
только {} не пиши :-).
Шутку про скобки понял. Очень смешно.
Данные, которыми заполняется ComboBox, берутся из текстового файла и представляют собой набор стандартных фраз для чата. Так вот, даже если и работает такой вариант, на какое событие я буду обращаться к своим элементам?
При известном selectedItem мне не нужно ничего мудрить, я просто беру его значение.
Вопрос заключается не в том, как взять данные с конкретного пункта, а как отловить выбор этого пункта.
А если ещё конкретнее, почему не происходит событие ListEvent.ITEM_CLICK, которое описано в документации как событие, возникающее в тот момент когда пользователь щёлкает мышкой на item, когда курсор мыши находится в компоненте?
можно попробовать заюзать myComboBox.addEventListener(ListEvent.CHANGE, event);
и после выбора "сбрасывать/менять" значение selectedItem - вручную.
Только при этом по идее сработает снова ивент ;-)
А чем вам не подходит решение из того же мануала?
http://livedocs.adobe.com/flex/3/langref/mx/controls/ComboBox.html
В самом низу.
Решение мне не подходит по следующим причинам. Обратите внимание на то, что когда первый раз открывается список, выделен сразу item - "Visa". После этого, не нажимаем на item "Visa", кликаем где-нибудь в области окна, после чего можем наблюдать, что метки "You selected" и "Data" заполняются данными с этого item-а, на который не нажимали. Можно пойти дальше и сразу установить какие-нибудь данные, в результате чего при щелчке на том же item, данные будут обновляться и этого видно не будет визуально.
Теперь моя ситуация. У меня компонент чата для ввода сообщения. Пользователь видит компонент с набором фраз. Выделяет его, чтобы посмотреть или случайно нажимает на кнопку "combo". В результате, при закрытии списка данные текущего item-а введутся в поле ввода даже если он не выберет ни одного пункта, что есть не очень-то хорошо в этом случае.
Сделайте первый элемент пустышкой :о) Хотя нет, в примере по ссылке обработчик на close, а вам раньше правильно советовали change (оно сработает только на действие юзера)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.