добавить переменную в качестве имени идентификатора - flex - PullRequest
1 голос
/ 10 мая 2011

У меня есть небольшое приложение для ответов на вопросы, которое я создал. Все работает нормально, но сейчас я пытаюсь сделать тест более динамичным, загружая и загружая различные тесты из базы данных.

Кажется, у меня почти все работает нормально, но я столкнулся с небольшой проблемой при преобразовании моей функции проверки ответа из статических в динамические данные.

Вот немного моего кода.

    if (b1.selected != true) {
        q1a.styleName = "incorrect";
        q1a.text = incorrect + b1.value;
        score = score -1;
   }

Как и сказал, похоже, что это нормально работает со статическим контентом, просто проверяя, был ли выбран переключатель или нет.

Мне нужно заменить - b1.selected моей переменной базы данных, в данном случае это pertestq1a.

pertestq1a в настоящее время равен b1.

Как я могу добавить свою переменную к этому, если оператор должен быть распознан как идентификатор элемента?

Ответы [ 2 ]

2 голосов
/ 10 мая 2011

Попробуйте использовать следующее:

this[pertestq1a].selected
0 голосов
/ 10 мая 2011

Хм, я больше не пишу код AS3, но насколько я помню, и если я хорошо понимаю вашу структуру базы данных (я думаю, вы сохраняете имя как укус), это может помочь вам:

Let: pertestq1a = "b1", вы можете использовать следующее для извлечения соответствующего экранного объекта.

getChildByName(pertestq1a)

Таким образом, вы можете использовать «выбранный» метод следующим образом:

getChildByName(pertestq1a).selected

В самом деле, вам нужно указать «имя экземпляра», пригодное для использования, для объекта (ов), чтобы использовать его.

Документация и примеры: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html#getChildByName%28%29

...