AS3 ComboBox пуст? - PullRequest
       1

AS3 ComboBox пуст?

0 голосов
/ 29 февраля 2012

У меня есть событие onChange, в котором я хотел бы проверить, пуст ли comboBox, если он есть, я хочу изменить цвет comboBox. Я могу найти значение, например "Фред Блоггс", но не тест, чтобы увидеть, если он пуст:

if (e.target.selectedItem.label == ""){ // This doesn't work
      trace("EMPTY");
my_color.color = 0x002222;
instructorList.transform.colorTransform = my_color;
}

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Свойство selectedItem будет нулевым, если ни один элемент не выбран:

comboBox.addEventListener(MouseEvent.CLICK, mouseHandler);

function mouseHandler(e:MouseEvent) {
    if (e.currentTarget.selectedItem == null){ // This doesn't work
        trace("EMPTY");
        my_color.color = 0x002222;
        instructorList.transform.colorTransform = my_color;
    }
}

Обратите внимание, что событие CHANGE не будет запущено, если нет элементовв ComboBox, потому что невозможно «изменить» его на что-либо.Вместо этого добавьте этот тест в обработчик CLICK .

ОБНОВЛЕНИЕ: Учитывая новую информацию в комментариях ниже, просто проверьте, соответствует ли индекс пустому элементу вверхняя часть списка.

    if (e.currentTarget.selectedIndex == 0) {
        trace("EMPTY");
        my_color.color = 0x002222;
        instructorList.transform.colorTransform = my_color;
    }
0 голосов
/ 29 февраля 2012

Событие гибкого изменения отправляется только тогда, когда пользователь инициирует изменение. Если изменение инициировано пользователем, оно не будет нулевым. Если вы хотите найти нулевое значение, попробуйте свойство / событие valueCommit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...